我一直在尝试从原始数据框创建数据框,其中新数据框中的行代表旧数据框的每20行的平均值。我发现了一个名为colMeans的函数,它可以很好地完成工作,唯一仍然存在的问题是如何将结果向量更改回数据帧,可以进一步分析。
我的colMeans代码:(原始数据框中的matrix1转换为矩阵,这是我设法让它工作的唯一方法)
a<-colMeans(matrix(matrix1, nrow=20));
但是在这里我得到了数字序列,它将所有结果连接在一个单独的列中(如果我尝试例如as.data.frame(a))。如何将此结果返回到数据框中,其中每列仅包含特定列名称的结果,而不是所有平均值。
我希望我的问题很明确,谢谢你的帮助。
答案 0 :(得分:5)
根据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)