根据R中的行值转置/重塑行

时间:2014-02-28 14:49:49

标签: r loops reshape transpose

我有以下数据。

ID      Date        Day             Sedentary   Light
4701    04/02/2013  Monday          511.5        133.7
4701    08/02/2013  Friday          370.2        113.0
4702    04/02/2013  Monday          405.5        119.2
4702    05/02/2013  Tuesday         601.8        162.5
4702    06/02/2013  Wednesday       463.0        121.7
4702    07/02/2013  Thursday        472.3        149.2
4702    08/02/2013  Friday          383.2        106.5
4704    06/02/2013  Wednesday       594.7        153.8
4704    07/02/2013  Thursday        616.0        115.0

我想使用第1列中的ID值来转置数据,以便将每个唯一ID号的数据从行转换为列,即

ID      D1date      D1day   D1Sedentary D1Light D2date      D2day   D2Sedentary D2Light
4701    04/02/2013  Monday  511.5       133.7   08/02/2013  Friday  511.5       133.7

每个ID号需要转置的行数范围为1-7。

非常感谢R用户的任何帮助。

1 个答案:

答案 0 :(得分:0)

df$Date <- ave(as.numeric(df$Date), df$ID, FUN=seq_along)
reshape(df, timevar=names(df)[2], idvar=names(df)[1], direction="wide")