根据序列拆分数据帧

时间:2014-02-14 16:56:40

标签: r

我有一个像这样的数据框

V1 V2 V3 V4 V5 ... V8030
2  4  5  4  16  ...   2  
.
.
.

ncol = 8030。对于每一行,我想将每列添加到列索引中添加365。

到目前为止,我一直在将数据框拆分为包含每行值的列表

list    <- split(df, rep(1:nrow(df), each = ncol(df)))

但后来我不知道如何继续。

非常感谢

1 个答案:

答案 0 :(得分:1)

您需要在此处执行的主要操作是使用split.default而不是split,因为data.frame的{​​{1}}方法将按行而不是列进行拆分。以下算法将生成一个数据框,其中每列是(split)等列的平均值,在这种情况下,n, n + m, n + 2 * m + ... + k * m为365,m为22,{{{ 1}}属于k

n

这假设您的数据框有多个1:365列。在您的情况下,df.split <- split.default(df, rep(1:m, ncol(df) / m)) as.data.frame(lapply(df.split, apply, 1, mean, na.rm=T)) 为365,您的数据框确实有多个。这是我编写的一些数据来测试它:

m