我有以下R data.table(儘管這也應該用data.frame進行縮放)。目標是將這個data.table重塑爲ggplot2
中的散點圖。因此,我需要重塑這個data.table有一個「因素」一欄顏色分:使用因子列熔化R data.table
> library(data.table)
> dt
ID x_A y_A x_B y_B
1: 05AC 0.81 3 0.92 2.05
2: 01BA 0.41 5 0.63 1.8
3: Z1AC 0.41 5 0.58 1.8
4: B2BA 0.21 6.5 1.00 1.8
....
我相信正確的輸出需要的形式爲:
ID type x y
05AC A 0.81 3
05AC B 0.92 2.05
01BA A 0.41 5
01BA B 0.63 1.8
Z1AC A 0.41 5
Z1AC B 0.58 1.8
B2BA A 0.21 6.5
B2BA B 1.00 1.8
是否有一個用這種方式「展開」data.tables的標準方法?我很高興在這種情況下如何使用dplyr,但我懷疑應該有一個data.table方法。
melt()
會工作,如果我能弄清楚如何創建列type
,例如,
melt(dt, id.vars=c("ID"))
只會熔化基礎上,一列ID
我特別困惑是如何從2-3列一個「擦傷」的A和B型分別列4-5 ...
感謝您的幫助。稍作糾正:上面的答案輸出「ID變量值」。這個問題需要輸出爲'ID變量x y' – ShanZhengYang
噢是的 - 我會更新 – SymbolixAU
@ShanZhengYang請參閱編輯。 – SymbolixAU