我有一個包含的識別信息的兩個列上並通過連字符分隔的字母對中的一列的數據幀新的列名:拆分列到相鄰的列,使用行的名稱中的R
df<-data.frame(
list = rep(1:3, each = 2),
set = rep(c("A","B"), times = 3),
item = c("ab-cd","ef-gh","ij-kl","mn-op","qr-st","uv-wx")
)
我一直在努力實現的是將數據框轉換爲以下形式,其中:1.由「列表」索引的單獨行被摺疊成一行; 2.「項目」欄以連字符作爲分隔符分割成相鄰列; 3.「設置」列作爲命名結果列的基礎。
df2 <- data.frame(
list = c(1:3),
A_1 = c("ab", "ij", "qr"),
A_2 = c("cd", "kl", "st"),
B_1 = c("ef", "mn", "uv"),
B_2 = c("gh", "op", "wx"))
我與reshape
提到了許多以前張貼的問題(特別是在[此處]),並試圖使用BASE轉置函數與各種結合功能沿着接近溶液一步工序中,沿着包和splitstackshape
包。我的近解決方案都不是很好,我想知道是否有一個好的方法來做到這一點。
一如既往,我非常感謝社區的意見和反饋。
你能展示一些你的解決方案嗎?你可能快到了! – Heroka
查看'tidyr'軟件包,例如https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf –
你需要dplyr/tidy包來完成圖片 - group_by()在dplyr和spread()在tidyr應該有幫助。 – Gopala