使用r中的For循环从列表中分配对象

使用r中的For循环从列表中分配对象,r,function,for-loop,assign,R,Function,For Loop,Assign,我试图使用for循环在几个数据帧上运行一个函数,这些数据帧将更改、重命名,然后删除原始数据帧。函数中的所有内容都可以工作,但是我在如何运行for循环的语法方面遇到了一些问题。我写了一个简单的例子来重现我的问题: Sample_1<-c(1,2,3,4) Sample_2<-c(2,4,6,8) Sample_3<-c(11,13,15) Samples<-c(1,2,3) for (i in Samples){ assign(paste0("Mean_",i),mea

我试图使用for循环在几个数据帧上运行一个函数,这些数据帧将更改、重命名,然后删除原始数据帧。函数中的所有内容都可以工作,但是我在如何运行for循环的语法方面遇到了一些问题。我写了一个简单的例子来重现我的问题:

Sample_1<-c(1,2,3,4)
Sample_2<-c(2,4,6,8)
Sample_3<-c(11,13,15)
Samples<-c(1,2,3)
for (i in Samples){
  assign(paste0("Mean_",i),mean(paste0("Sample_",i)))
}

Sample_1问题在于mean语句——它试图找到字符串的平均值,而不是实际变量。尝试添加
get
语句

for (i in Samples){
  assign(paste0("Mean_",i),mean(get(paste0("Sample_",i))))
}

不要使用
分配
。将您的样本放入列表中,并在列表上迭代。然后可以将平均值放入向量中。