2011-05-03 55 views
1

我在R.的工作在R中,如何將單個逗號分隔字段的記錄翻譯爲多個記錄?

我有一個數據集,其中一些記錄包含城市和縣名單,而不是一個城市或縣。我正在尋找一種方法將數據轉換爲「長」格式,其中將有多個記錄,每個記錄都有一個城市/縣。

reshape在一列中採用多列而不是逗號分隔列表。

strsplit可以將條目拆分爲值的向量,但是如何使新記錄包含所有相同的其他信息,將其添加到data.frame並刪除原始條目?

謝謝!

+0

您的設置有多種可能的解釋。你能舉一個例子(最好能重現)你有什麼和你想得到什麼? – Aniko 2011-05-04 13:18:19

回答

4

您可以使用該功能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  
1
d = as.data.frame(do.call(rbind, strsplit(dtaFrame$cityCountry, ","))) 
colnames(d) = c("city", "country") 
cbind(dtaFrame[,-which(colnames(dtaFrame)=="cityCountry",], d) 

應該這樣做。

相關問題