我一直在尝试从原始数据帧创建一个数据帧,其中新数据帧中的行将代表旧数据帧中每20行的平均值。我发现了一个名为colMeans的函数,该函数可以很好地完成工作,唯一的问题仍然存在,那就是如何将结果的向量更改回数据帧,以便进一步分析。
我的colMeans代码:(将原始数据框中的matrix1转换为矩阵,这是我设法使其工作的唯一方法)
a<-colMeans(matrix(matrix1, nrow=20));
但是在这里,我得到了一个数字序列,该序列将所有结果连接在一个单独的列中(例如,如果我尝试使用as.data.frame(a))。我应该如何将结果返回到数据框,其中每一列仅包含特定列名称的结果,而不是所有平均值。
我希望我的问题很清楚,谢谢您的帮助。
最佳答案
基于methods('as.data.frame')
,as.data.frame.list
是将vector
的每个元素转换为data.frame
的列的选项
as.data.frame.list(a)
数据
m1 <- matrix(1:20, ncol=4, dimnames=list(NULL, paste0('V', 1:4)))
a <- colMeans(m1)