http://r4stats.com/books/r4sas-spss/我覺得sas和r的程式思維差很多,要把sas的思維強制加到r上,是有可能的,只是不確定有沒有人這樣做也許你可以找那本書看看,或者從更基礎的r程式思維學起否則學起來會很累我試著用以下程式回答你的問題如果你的資料可以化為2維的陣列,那data.frame是最簡單的若是每筆資料都是data.frame,那就會用到list## 產生資料da <- matrix(0, 100, 8)## 每欄都是常態分配亂數for(i in 1:ncol(da)){da[, i]<-rnorm(nrow(da, 0, 1))}colnames(da) <- paste0('var', 1:ncol(da))## 要對每個欄做某些事情for( i in 1:ncol(da) ){do_something(da[, i])}## 沒有用到欄位名稱## 如果需要存下for迴圈內的資料l1 <- list()for( i in 1:ncol(da) ){l1[[i]] <- do_something(da[, i])}##################################################如果要用你原來的方式硬解問題,就會牽涉到NSE(Non-standard evaluation),學這個要花不少心力至少要搞懂變數和字串在r中的差別,配合assigneval和parse這些函式例如## 定義一個函式處理eval(parse(text='string'))EV <- function(x) { eval(parse(text=x)) }## 產生變數vars <- paste0('var', 1:8)for( i in 1:length(vars) ){assign(vars[i], anykindofdataInR)}## dosomething on varsfor( i in 1:length(vars) ){do_something(EV(vars[i]))}##################只是上面這個方式很不像r就是了