0
我有下列R- data.table(雖然我很高興與一個數據幀攜手合作,這個小數據集)如何展開有R數據幀/ data.table一列,
library(data.table)
dt = readcsv(...)
head(dt)
column1 column2 column3 column4 column5 column6
1 5 456421 437141 1.044105 32935 893562
2 42 756152 714126 1.058850 45913 1470278
3 36 157817 150205 1.050677 14558 308022
4 20 181700 172716 1.052016 15077 354416
我會喜歡將column2
和column3
合併成一列,保留所有相關的行,並使用二進制標籤來跟蹤這些值最初來自哪裏。該data.table我心目中是按以下格式:
column1 combined column4 column5 column6 from_column_2
1 5 456421 1.044105 32935 893562 TRUE
2 5 437141 1.044105 32935 893562 FALSE
3 42 756152 1.058850 45913 1470278 TRUE
4 42 714126 1.058850 45913 1470278 FALSE
5 36 157817 1.050677 14558 308022 TRUE
6 36 150205 1.050677 14558 308022 FALSE
....
我很困惑一個如何與data.table做到這一點。大多數操作都是「整個桌子」。至於使用dplyr
或tidyr
,我不知道我是如何篩選什麼...
你試過'?melt'即'melt(dt,measure.vars = c(「column2」,「column3」))' –
'tidyr'解決方案是'df < - gather(df,key = source.column,value = combined,column2,column3)' –
@docendodiscimus這非常好,謝謝!有沒有辦法執行此代碼,而不必在事後重新定義'variable'和'values'? – ShanZhengYang