如何从R中的data.frame文件中删除文本中的标点符号和数字

如何从R中的data.frame文件中删除文本中的标点符号和数字,r,tm,stringr,tidytext,R,Tm,Stringr,Tidytext,我想从data.frame文件中删除文本中的标点符号、数字和http链接。我尝试了tm、stringr、quanteda和tidytext软件包,但都不起作用。我正在为clean data.frame文件寻找一个有用的基本包或函数,而无需将其转换为语料库或类似的东西 我怎么做? mycorpus由于您没有发布任何示例输入或示例输出,因此无法对其进行测试,为了从数据帧的特定列中删除标点符号、数字和http链接,您可以尝试执行一次以下操作 gsub("[[:punct:]]|[[:digit:]]|

我想从data.frame文件中删除文本中的标点符号、数字和http链接。我尝试了tm、stringr、quanteda和tidytext软件包,但都不起作用。我正在为clean data.frame文件寻找一个有用的基本包或函数,而无需将其转换为语料库或类似的东西

我怎么做?
mycorpus由于您没有发布任何示例输入或示例输出,因此无法对其进行测试,为了从数据帧的特定列中删除标点符号、数字和http链接,您可以尝试执行一次以下操作

gsub("[[:punct:]]|[[:digit:]]|^http:\\/\\/.*|^https:\\/\\/.*","",df$column)
或者根据鲁伊在评论中的建议,也可以使用以下内容

gsub("[[:punct:]]|[[:digit:]]|(http[[:alpha:]]*:\\/\\/)","",df$column)

由于您尚未发布任何示例输入或示例输出,因此无法对其进行测试,为了从数据帧的特定列中删除标点符号、数字和http链接,您可以尝试以下操作一次

gsub("[[:punct:]]|[[:digit:]]|^http:\\/\\/.*|^https:\\/\\/.*","",df$column)
或者根据鲁伊在评论中的建议,也可以使用以下内容

gsub("[[:punct:]]|[[:digit:]]|(http[[:alpha:]]*:\\/\\/)","",df$column)

如果您的目标是通过替换所有非字符来仅保留以下字符,则可以实现简洁版本。此外,我猜你想用一个空格来代替它,因为你提到了一些关于语料库的东西。否则,您的地址将被压缩为noe长字符串(但这可能是您想要的——正如您可能提供的示例所述)


如果您的目标是通过替换所有非字符来仅保留以下字符,则可以实现简洁版本。此外,我猜你想用一个空格来代替它,因为你提到了一些关于语料库的东西。否则,您的地址将被压缩为noe长字符串(但这可能是您想要的——正如您可能提供的示例所述)


你到底试过什么?请在做一个R后,我们可以帮助。这包括一个具有代表性的数据示例、尚未运行的代码和预期的输出。欢迎使用。始终建议在文章中使用代码标记发布输入和预期输出的示例。>mycorpus mycorpus mycorpus请提供我们可以使用的数据的简短示例。否则我们必须继续猜测。您可以再看一看tidytext中的unnest_标记,它现在有一个token=“tweets”选项,可能非常适合您。它有包括strip\u punt=TRUE和strip\u url=TRUE的选项。您到底尝试了什么?请在做一个R后,我们可以帮助。这包括一个具有代表性的数据示例、尚未运行的代码和预期的输出。欢迎使用。始终建议在文章中使用代码标记发布输入和预期输出的示例。>mycorpus mycorpus mycorpus请提供我们可以使用的数据的简短示例。否则我们必须继续猜测。您可以再看一看tidytext中的unnest_标记,它现在有一个token=“tweets”选项,可能非常适合您。它有包括strip\u punct=TRUE和strip\u url=TRUE的选项。很好的尝试,但它不会删除
http:
,因为它可以在冒号前面有一个
s
。我用了
“[[:punct:][]|[:digit:][]|(http[:alpha:][]*:\\/\\\/)”
。我的测试字符串是这个问题的网址。@RuiBarradas,很酷,谢谢你让我知道,现在更改了它/。很好的尝试,但它不会删除
http:
,因为它可以在冒号之前有一个
s
。我用了
“[[:punct:][]|[:digit:][]|(http[:alpha:][]*:\\/\\\/)”
。我的测试字符串是这个问题的网址。@RuiBarradas,很酷,谢谢你让我知道,现在更改了它/。我不能这样做,因为我的数据有86909行。当我使用gsub R时,请尝试转换控制台中的所有数据,如#[1]。。。程序正在崩溃。因此,我需要一个解决方案,删除data.frame中的所有标点。它自己更新了我的答案,以显示如果data.frame有100000行,您将如何应用替换,这只需要秒。我不能这样做,因为我的数据有86909行。当我使用gsub R时,请尝试转换控制台中的所有数据,如#[1]。。。程序正在崩溃。因此,我需要一个解决方案,删除data.frame中的所有标点。它自己更新了我的答案,以显示如果data.frame有100000行,将如何应用替换,这只需要几秒钟