用多个度量列将数据从长格式转换为宽格式
ID
TIME
X
Y
ID
TIME
:
> my.df <- data.frame(ID=rep(c("A","B","C"), 5), TIME=rep(1:5, each=3), X=1:15, Y=16:30)> my.df ID TIME X Y1 A 1 1 162 B 1 2 173 C 1 3 184 A 2 4 195 B 2 5 206 C 2 6 217 A 3 7 228 B 3 8 239 C 3 9 2410 A 4 10 2511 B 4 11 2612 C 4 12 2713 A 5 13 2814 B 5 14 2915 C 5 15 30
TIME
X
cast()
reshape
dcast()
reshape2
):
> cast(my.df, ID ~ TIME, value="X") ID 1 2 3 4 51 A 1 4 7 10 132 B 2 5 8 11 143 C 3 6 9 12 15
Y
ID X_1 X_2 X_3 X_4 X_5 Y_1 Y_2 Y_3 Y_4 Y_51 A 1 4 7 10 13 16 19 22 25 282 B 2 5 8 11 14 17 20 23 26 293 C 3 6 9 12 15 18 21 24 27 30
X
Y
X_1
, Y_1
, X_2
, Y_2
X
Y
:
merge(cast(my.df, ID ~ TIME, value="X"),cast(my.df, ID ~ TIME, value="Y"),by="ID", suffixes=c("_X","_Y"))
reshape2
plyr
cast(my.df, ID ~ TIME, value=c("X","Y"))
不负相思意
慕容708150