我有一个从CSV读取的数据框,其中包含14列和990行。每组110行包含重复的结构化数据(不是值),前5列是标签。
我现在想要创建一个14x110的新网格,这样如果列标有字母,行以数字编号,那么新网格的A1
到E110
就是标签F1
1}}包含原始框架中F1
的平均值,依此类推到N110
。
我之前从未使用过R
,并且计算了一个单元格的平均值
mean(data[c(seq.int(3,nrow(d),110)),c(6)])
但是我需要一些帮助来重复其余的单元格并构建一个结果数据框。
答案 0 :(得分:0)
将矩阵转换为3D数组
yourarray=array(unlist(yourmatrix),dim = c(110,14,9))
然后,要取平均z值,您可以执行类似
的操作out=matrix(NA,110,14)
for(n in 1:14){
for(i in 1:110){out[i,n]=mean(b[i,n,])}}
示例强>
a=matrix(1:125,25,5)
b=array(unlist(a),dim = c(5,5,5))
out=matrix(NA,5,5)
for(n in 1:5){
for(i in 1:5){out[i,n]=mean(b[i,n,])}}
> out
[,1] [,2] [,3] [,4] [,5]
[1,] 51 56 61 66 71
[2,] 52 57 62 67 72
[3,] 53 58 63 68 73
[4,] 54 59 64 69 74
[5,] 55 60 65 70 75
希望这是你所追求的。