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就是了