我有一个csv文件,每个单元格中有一个包含多个单词的列。我想知道是否有任何R函数将每个单元格中的单词移动到单个单元格。以下是数据集中两个单元格中的数据:
arecapalm,betelnut,konkan,nature,traveldiaries,mirrorlessframes passangerstories,chakarmanee,atranginikhil,maharashtra,印度
谢谢。任何帮助赞赏。
沙塔尔
我们假设这个data.frame:
require(dplyr)
require(tidyr)
df<-data.frame(id=1:2, words=c("arecapalm,betelnut,konkan,nature,traveldiaries,mirrorlessframes","passangerstories,chakarmanee,atranginikhil,maharashtra,india"))
df
# id words
#1 1 arecapalm,betelnut,konkan,nature,traveldiaries,mirrorlessframes
#2 2 passangerstories,chakarmanee,atranginikhil,maharashtra,india
然后我们可以使用dplyr
和tidyr
来运行它来将单元格细分为多个列:
df %>% separate_rows(words) %>%
group_by(id) %>%
mutate(wordid=row_number()) %>%
spread(wordid,words,sep=".")
# A tibble: 2 x 7
# Groups: id [2]
id wordid.1 wordid.2 wordid.3 wordid.4 wordid.5 wordid.6
<int> <chr> <chr> <chr> <chr> <chr> <chr>
1 1 arecapalm betelnut konkan nature traveldiaries mirrorlessframes
2 2 passangerstories chakarmanee atranginikhil maharashtra india NA