【发布时间】:2022-01-14 09:09:19
【问题描述】:
我有这个包含特殊字符的字符串,我无法从主数据框中删除这些字符但是,当我通过 dft 准备一个单独的对象然后我使用以下代码时,我能够删除特殊字符字符。
dft <- "rt shibxwarrior hodl trust processsome great things horizon folks shib shib shiba shibainu shibar… rt askthedr just bought m usd worth shib think it’s robinhoodapp shibaarmy"
rmSpec <- "â|€|¦|â|€™|" # The "|" designates a logical OR in regular expressions.
s.rem <- gsub(rmSpec, "", dft) # gsub replace any matches in remSpec and replace them with "".
s.rem
但是当我在主数据框上使用相同的代码时,如下以不同的行(推文)的形式,相同的代码将不起作用并显示错误:UseMethod中的错误(“检查” , X) : 没有适用于“字符”类对象的“检查”方法
[1] rt shibxwarrior hodl 信任过程一些伟大的事情地平线人 shib shib shiba shibainu shibar...
[2] rt askthedr 刚买了 m 美元,价值 shib 认为它是 robinhoodapp shibaarmy
[3] rt bitshiba 发送 shib 关注转推推文 uufefufcd
[4] rt shibinform 想要 shib 列出 robinhoodappuf 是 是 是 ubufef ubufef ubufef
[5] rt shiblucky shib 赠品只需转发关注
请您帮忙,谢谢。
【问题讨论】:
-
你是如何在你的数据框上使用它的?比如你的代码行是什么?问题很可能来自那部分。我怀疑这可能是您的数据框中的选项 stringAsFactors 未设置为 FALSE
-
对你在这里所做的事情要非常小心。您的数据只是在某些时候被错误地编码。
it’s就是it's。首先尝试使用正确的编码获取您的数据。还要记住,有很多带有合法â的单词,您只需将其删除并创建一个虚假单词。 -
@MerijnvanTilborg :感谢您的回复,我认为问题出在我的代码中,我将推文转换为两个 utf-8 字符,我可以使用什么其他选项来摆脱它。当我从我的代码中删除 utf-8 字符时,所有字符都被删除了,但后来我在转换为文档术语矩阵时发现了问题......你能帮忙吗..
-
你可以尝试修复它...我稍后会给出一个小例子
-
这很可能是 xy 问题。您正在寻找正则表达式解决方案,但最好修复编码。在读取数据时尝试设置
locale和编码。我不确定,但一些 csv 读取函数包含encoding参数。为 R 会话设置本地也可能有所帮助。或者,您可以在 excel 中重新编码文件,然后在 R 中读取新文件
标签: r data-cleaning tm