我一直在尝试从原始数据帧创建一个数据帧,其中新数据帧中的行将代表旧数据帧中每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)

08-20 04:16
查看更多