将单元格中的单词移动到各个列[关闭]

问题描述 投票:0回答:1

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

arecapalm,betelnut,konkan,nature,traveldiaries,mirrorlessframes passangerstories,chakarmanee,atranginikhil,maharashtra,印度

谢谢。任何帮助赞赏。

沙塔尔

r text text-mining
1个回答
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              
© www.soinside.com 2019 - 2024. All rights reserved.