如何从 R Studio 中的数据框中删除大量文本
How to remove a big chunk of text from dataframe in R Studio
我有一个网站文章的大数据框架,它是通过一个自动抓取工具收集的,有两列,“文本”和“网站”。问题是我在我收集的一个网站的所有文章中发现了一大堆无用的文字。
文本总是相同的,并通过这些行表达了一些内容“单击此处即表示您接受使用 cookie //rn 如果您想订阅,请单击下面的 link。 //rn . 订阅即表示您接受我们的隐私政策 //rn 了解更多信息,请单击此 link"
我想找到一种方法来清除此消息中的所有文本字段,但到目前为止我无法做到。
这是我的数据框示例
df
文字
这是文本 1。单击此处即表示您接受使用 cookie //rn 如果您想订阅,请单击下面的 link。 //嗯。订阅即表示您接受我们的隐私政策 //rn 了解更多信息,请单击此 link
这是文本 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
我也尝试写下没有斜线和其他符号的文本,但我得到了同样的错误信息
有人知道有什么函数可以用来从这么大的文本中清理我的数据集吗?
sub
/gsub
应该可以,但与其复制整个文本,不如删除 'By clicking here you'
之后的所有内容。没有这些词的文本将不会被更改。
df$text <- sub('By clicking here you.*', '', df$text)
您的代码中需要注意的一个错误是
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)
我有一个网站文章的大数据框架,它是通过一个自动抓取工具收集的,有两列,“文本”和“网站”。问题是我在我收集的一个网站的所有文章中发现了一大堆无用的文字。
文本总是相同的,并通过这些行表达了一些内容“单击此处即表示您接受使用 cookie //rn 如果您想订阅,请单击下面的 link。 //rn . 订阅即表示您接受我们的隐私政策 //rn 了解更多信息,请单击此 link"
我想找到一种方法来清除此消息中的所有文本字段,但到目前为止我无法做到。
这是我的数据框示例
df
文字
这是文本 1。单击此处即表示您接受使用 cookie //rn 如果您想订阅,请单击下面的 link。 //嗯。订阅即表示您接受我们的隐私政策 //rn 了解更多信息,请单击此 link
这是文本 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
我也尝试写下没有斜线和其他符号的文本,但我得到了同样的错误信息
有人知道有什么函数可以用来从这么大的文本中清理我的数据集吗?
sub
/gsub
应该可以,但与其复制整个文本,不如删除 'By clicking here you'
之后的所有内容。没有这些词的文本将不会被更改。
df$text <- sub('By clicking here you.*', '', df$text)
您的代码中需要注意的一个错误是
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)