将单元格中的单词移动到各个列

时间:2019-03-22 14:43:42

标签: r text text-mining

我有一个csv文件,该文件的一列中每个单元格中都有多个单词。我想知道是否有任何R函数将每个单元格中的单词移动到单个单元格。 以下是数据集中两个单元格中的数据:

槟榔,槟榔,konkan,自然,旅行社,无镜框 passangerstories,chakarmanee,atranginikhil,马哈拉施特拉邦,印度

谢谢。任何帮助表示赞赏。

Chamil

1 个答案:

答案 0 :(得分:0)

让我们假设这个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

然后我们可以使用dplyrtidyr来运行此操作,以将单词单元分解为多列:

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