我正面臨一個數據框的重塑問題。它有更多的行和列。簡化的,它的結構是這樣的:重塑一個數據框R
rownames year x1 x2 x3
a 2000 2 6 11
b 2000 0 4 2
c 2000 0 3 5
a 2010 2 6 11
b 2010 0 0 0
c 2020 4 1 8
a 2020 10 1 7
b 2020 8 4 10
c 2020 22 1 16
我想拿出具有用於變量「年」一個單列一個數據幀,在後續列複製X1,X2,X3的值,並重新命名在rowname和x變量之間組合的列。它應該是這樣的:
year a_x1 a_x2 a_x3 b_x1 b_x2 b_x3 c_x1 c_x2 c_x3
2000 2 6 11 0 4 2 0 3 5
2010 2 6 11 0 0 0 4 1 8
2020 10 1 7 8 4 10 22 1 16
我想用後續cbind()返回的功能,但因爲我必須這樣做,對數千行和數百列,我希望有一個與重塑包更直接的方式(我對此不太熟悉)
在此先感謝!
請使用'dput(SAMPLE_DATA)'這樣用戶就可以申請自己的建議,你正在尋找相同的數據。 –
你想如何處理重複值?或者我應該假設這是基於您的示例輸出的錯誤? – A5C1D2H2I1M1N2O1R2T1
@HansRoggeman在這種情況下是100%可重複的:'dt < - read.table(text =「...」,header = TRUE)'',只需將複製的文本替換爲'...'。 – Beasterfield