使用单独的_rows()和tidyverse删除标点并合并术语

使用单独的_rows()和tidyverse删除标点并合并术语,r,dplyr,tidyverse,tidyr,R,Dplyr,Tidyverse,Tidyr,我认为,这是一个简单的问题,但我似乎找不到一个线程使用sep=使用特殊标点来处理sep。我有一个大的数据框架,在其中我使用文本挖掘来提取每次观察中的数据科学术语(N=2000)。然后,我将这些数据作为数据科学解决方案,ds\u solutions的一个附加列包括在内。我想将这些术语分开,然后使用groupby和count=查看不同类别是否有任何趋势/模式 但是,使用sep=“,”,我无法删除其他字符[和'”,因此我有一些条目读作“['forecasting'的实例“而不是简单的预测。这是我可以在

我认为,这是一个简单的问题,但我似乎找不到一个线程使用
sep=
使用特殊标点来处理
sep
。我有一个大的数据框架,在其中我使用文本挖掘来提取每次观察中的数据科学术语(N=2000)。然后,我将这些数据作为数据科学解决方案,
ds\u solutions
的一个附加列包括在内。我想将这些术语分开,然后使用
groupby
count=
查看不同类别是否有任何趋势/模式

但是,使用
sep=“,”
,我无法删除其他字符
[
'”
,因此我有一些条目读作
“['forecasting'的实例“
而不是简单的
预测
。这是我可以在分隔行之前做的事吗?还是在分隔行之后做的事?提前感谢您的想法

Project <- c("A", "B", "C")
Stage <- c("Pilot", "Pilot", "Idea")
ds_solutions <- c("['image recognition', 'ai', 'forecast', 'machine learning', 'machine learning model']", 
                  "['clustering', 'sentiment analysis', 'nlp', 'time series']", 
                  "['classifier', 'cluster analysis', 'classification', 'scraping', 'databases']")
sample <- data.frame(Project, Stage, ds_solutions)

Project Stage  ds_solutions
A       Pilot  ['image recognition', 'ai', 'forecast', 'machine learning', 'machine learning model']
B       Pilot  ['clustering', 'sentiment analysis', 'nlp', 'time series']
C       Idea   ['classifier', 'cluster analysis', 'classification', 'scraping', 'databases']

Project这行吗

library(dplyr)
library(tidyr)

sample %>% 
  mutate(ds_solutions = substr(ds_solutions, 3L, nchar(ds_solutions) - 2L)) %>% 
  separate_rows(ds_solutions, sep = "['\"],\\s*['\"]")

Hey@ekoam-是的!输出仍然包括引号中的每个术语(例如,“线性回归”、“回归”、“贝叶斯”等)我想我可以删除我在CSV中包含的内容。HI @ BJK127,我刚刚更新了答案。这个怎么样?谢谢输入。我不知道我是否曾经单独计算过正则表达式。嗨@ BJK127,很高兴知道。如果这个或任何其他答案已经解决了你的问题,请点击点击复选标记。向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这么做。当然。谢谢@ekoam!