r - 如何从 R Studio 中的数据框中删除大量文本
问题描述
我有一个通过自动刮刀收集的网站文章大数据框,其中包含“文本”和“网站”两列。问题是我在我收集的一个网站的所有文章中发现了大量无用的文本。
文本始终是相同的,并通过这些行说明“单击此处,您接受使用 cookie //rn 如果您想订阅,请单击下面的链接。//rn。订阅即表示您接受我们的隐私政策 / /rn 欲了解更多信息,请单击此链接"
我想找到一种方法来清除此消息中的所有文本字段,但到目前为止我无法管理。
这是我的数据框的一个例子
df
文本
这是文本 1。点击此处即表示您接受使用 cookie //rn 如果您想订阅,请点击下面的链接。//rn。订阅即表示您接受我们的隐私政策 //rn 了解更多信息,请单击此链接
这是文本 2
这是文本 3
这是文字 4
期望的结果:
df
文本这是文本 1
这是文本 2
这是文本 3
这是文字 4
这是我尝试过的:
to_remove<-"By clicking here you accept the use of cookies //rn If you would like to subscribe please click on the link below. //rn. By subscribing you accept our privacy policy //rn for more information click on this link"
df<-gsub(to_remove, "", df$text)
唉,我收到以下错误消息:
error in (gsub(to_remove, "", df$text)): invalid regular expression
我也尝试写下没有斜杠和其他符号的文本,但我收到了相同的错误消息
有谁知道有什么函数可以用来从这么大的文本中清除我的数据集?
解决方案
您的代码中需要注意的一个错误是
df<-gsub(to_remove, "", df$text)
应该替换为
df$text <-gsub(to_remove, "", df$text)
您可能遇到的另一个问题是您可能将数据框的每一行作为不同的句子,在这种情况下,您的替换将不起作用。要解决此问题,您可以使用将文本组合成单个字符串
single_str_text = paste(df$text, collapse = ' ')
使用这个单个字符串,您可以执行正则表达式删除
gsub("By clicking here you.*for more information click on this link",
'',
single_str_text)
推荐阅读
- ruby - 如何在ruby中更改类中的实例变量
- go - 取消上下文取消的进一步操作
- ionic-cli - npm 错误!ERESOLVE 无法解析依赖树
- flutter - 如何在 ListView 中显示 FontAwesome 库中的所有图标?
- c++ - 如何通过 IMFSourceReader 使用自定义堆
- linux - 木偶,希拉 | 如何获得价值
- azure-devops - 我们如何在 Azure Devops Boards 的进程中添加计算的自定义字段
- sql - SSIS - 仅在基于匹配多列中的至少 1 列不存在的情况下插入记录
- javascript - 当按钮在 Formik 组件之外时,在提交按钮上使用 formik.isValid
- javascript - 无法按类名访问文本区域