如何用R中的逗号分隔单元格中的单词?

如何用R中的逗号分隔单元格中的单词?,r,tidyverse,stringr,R,Tidyverse,Stringr,我有以下数据帧 id food drink 1 chip coke, wine, punch 2 eggs pepsi, water 3 pie water, wine, orange juice 我想知道如何获得以下数据帧: id food drink 1 chip coke 1 chip wine 1 chip punch 2 eggs pepsi 2 eggs water 3 pie water 3 pie wine 3 pie orang

我有以下数据帧

id food drink 
1  chip coke, wine, punch
2  eggs pepsi, water
3  pie  water, wine, orange juice
我想知道如何获得以下数据帧:

id food drink 
1  chip coke 
1  chip wine 
1  chip punch 
2  eggs pepsi 
2  eggs water 
3  pie  water 
3  pie  wine 
3  pie  orange juice
我想用一些来自tidyverse的东西,比如stringr pacakge,但我现在被卡住了


有没有办法在R中实现这一点?

我们可以使用
分隔行

library(tidyverse)
separate_rows(df1, drink, sep=", ")
#   id food  drink
#1  1 chip   coke
#2  1 chip   wine
#3  1 chip  punch
#4  2 eggs  pepsi
#5  2 eggs  water
#6  3  pie  water
#7  3  pie   wine
#8  3  pie orange juice
数据
df1我们可以使用
分隔行

library(tidyverse)
separate_rows(df1, drink, sep=", ")
#   id food  drink
#1  1 chip   coke
#2  1 chip   wine
#3  1 chip  punch
#4  2 eggs  pepsi
#5  2 eggs  water
#6  3  pie  water
#7  3  pie   wine
#8  3  pie orange juice
数据
df1解决此问题的另一种方法是使用tidytext

library(tidytext)
unnest_tokens(df, drink)
这将把那个文本列拆分成单词。 你也可以用它来做其他不必要的事情,但这是可行的。
请参阅此处的更多信息:

解决此问题的另一种方法是使用tidytext

library(tidytext)
unnest_tokens(df, drink)
这将把那个文本列拆分成单词。 你也可以用它来做其他不必要的事情,但这是可行的。
请参阅此处的更多信息:

对于初学者来说太复杂了-我的问题更容易理解。这里发布了4个答案,其中2个给出了多个选项和多个软件包。其中一个答案与您接受的答案相同。它们都太复杂了吗?对初学者来说太复杂了-我的问题更容易理解。这里有4个答案,其中2个给出了几个选项和几个包。其中一个答案与您接受的答案相同。它们都太复杂了吗?