首页 > 解决方案 > 将单元格中的单词移动到各个列

问题描述

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

槟榔,槟榔,康康,性质,旅游日记,无镜框 passangerstories,chakarmanee,atranginikhil,马哈拉施特拉邦,印度

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

查米尔

标签: rtexttext-mining

解决方案


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

然后我们可以使用dplyrandtidyr将单词单元格分解为多列来运行它:

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              

推荐阅读