使用循环从导入表的列填充R中的矩阵

时间:2014-03-17 16:04:50

标签: r loops

如果我将三个表读入R并重命名:

y1<-read.csv(file="table1",header=T)
y2<-read.csv(file="table2",header=T)
y3<-read.csv(file="table3",header=T)

我知道每个表有14列10行。

然后我想取table1中第1列的平均值并将其放入位置[1,1]的矩阵中,即表1中第2列的平均值,并将其放入位置[1,2]的相同矩阵中等等,直到我在矩阵的右下角[3,14]填充表3中第14列的平均值。

我开始创建一个空白矩阵

>m=data.frame(matrix(0,3,14))

以及包含表格的矢量

z<-(y1,y2,y3)

然后我决定在循环中使用循环,如下所示:

>for(i in z){
            for(j in 1:14){
                           m[i,j]<-mean(i[,j])
                           }}     

它返回了一个错误,我可以从基本的方式看到为什么它不对。但是,我正在努力想出一种方法来将输入的值输入矩阵。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

你可以尝试:

t(sapply(paste0("table", 1:3), function(x) colMeans(read.csv(file=x,header=T))))