我在R.的工作在R中,如何將單個逗號分隔字段的記錄翻譯爲多個記錄?
我有一個數據集,其中一些記錄包含城市和縣名單,而不是一個城市或縣。我正在尋找一種方法將數據轉換爲「長」格式,其中將有多個記錄,每個記錄都有一個城市/縣。
reshape在一列中採用多列而不是逗號分隔列表。
strsplit可以將條目拆分爲值的向量,但是如何使新記錄包含所有相同的其他信息,將其添加到data.frame並刪除原始條目?
謝謝!
我在R.的工作在R中,如何將單個逗號分隔字段的記錄翻譯爲多個記錄?
我有一個數據集,其中一些記錄包含城市和縣名單,而不是一個城市或縣。我正在尋找一種方法將數據轉換爲「長」格式,其中將有多個記錄,每個記錄都有一個城市/縣。
reshape在一列中採用多列而不是逗號分隔列表。
strsplit可以將條目拆分爲值的向量,但是如何使新記錄包含所有相同的其他信息,將其添加到data.frame並刪除原始條目?
謝謝!
您可以使用該功能colsplit
封裝reshape2
:
x <- c("a, b", "c, d", "e")
library(reshape2)
colsplit(x, ",", names=c("City", "County"))
City County
1 a b
2 c d
3 e
d = as.data.frame(do.call(rbind, strsplit(dtaFrame$cityCountry, ",")))
colnames(d) = c("city", "country")
cbind(dtaFrame[,-which(colnames(dtaFrame)=="cityCountry",], d)
應該這樣做。
您的設置有多種可能的解釋。你能舉一個例子(最好能重現)你有什麼和你想得到什麼? – Aniko 2011-05-04 13:18:19