第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

用多個(gè)度量列將數(shù)據(jù)從長格式轉(zhuǎn)換為寬格式

用多個(gè)度量列將數(shù)據(jù)從長格式轉(zhuǎn)換為寬格式

呼如林 2019-06-24 13:21:18
用多個(gè)度量列將數(shù)據(jù)從長格式轉(zhuǎn)換為寬格式當(dāng)我想帶來多個(gè)度量變量時(shí),我很難找到最優(yōu)雅和最靈活的方法將數(shù)據(jù)從長格式切換到寬格式。例如,這里有一個(gè)長格式的簡單數(shù)據(jù)框架。ID是主題,TIME是一個(gè)時(shí)間變量,而且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的列標(biāo)題中包含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作為另一個(gè)度量值變量,并讓列名同時(shí)反映度量值變量名稱和時(shí)間值:  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(FWIW,我真的不在乎X的后面是Y或者如果它們交織在一起X_1, Y_1, X_2, Y_2等等)我可以通過鑄造-兩次對長數(shù)據(jù)進(jìn)行合并結(jié)果,盡管列名需要一些工作,如果需要添加第3或第4個(gè)變量,則需要對其進(jìn)行調(diào)整X和Y:merge(cast(my.df, ID ~ TIME, value="X"),cast(my.df, ID ~ TIME, value="Y"),by="ID", suffixes=c("_X","_Y"))中的一些函數(shù)的組合reshape2和/或plyr應(yīng)該能夠更優(yōu)雅地完成我的嘗試,以及更清晰地處理多個(gè)度量變量。有點(diǎn)像cast(my.df, ID ~ TIME, value=c("X","Y")),這是無效的。但我還沒弄明白。
查看完整描述

3 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

 reshape(my.df,

           idvar = "ID",

           timevar = "TIME",

           direction = "wide")

施予


  ID X.1 Y.1 X.2 Y.2 X.3 Y.3 X.4 Y.4 X.5 Y.5

1  A   1  16   4  19   7  22  10  25  13  28

2  B   2  17   5  20   8  23  11  26  14  29

3  C   3  18   6  21   9  24  12  27  15  30


查看完整回答
反對 回復(fù) 2019-06-24
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用data.table_1.9.5,這可以不使用melt因?yàn)樗梢蕴幚矶鄠€(gè)value.var柱子。您可以從here

 library(data.table)

 dcast(setDT(my.df), ID~TIME, value.var=c('X', 'Y'))

 #   ID 1_X 2_X 3_X 4_X 5_X 1_Y 2_Y 3_Y 4_Y 5_Y

 #1:  A   1   4   7  10  13  16  19  22  25  28

 #2:  B   2   5   8  11  14  17  20  23  26  29

 #3:  C   3   6   9  12  15  18  21  24  27  30


查看完整回答
反對 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 576 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號