我已经从WhatsApp聊天中提取了数据(df
),并建立了一个名为name
的变量。现在,在某些情况下,我没有名字,但有电话号码。
因此,在下一步中,我尝试为每个数字分配一个名称。现在,R显示了一种奇怪的行为(对不起,我对此没有其他名称):
当我在控制台中键入which(df$name=="+49 176 12345678")
时,R会以某种方式将其更改为which(df$name=="*+49 176 12345678,")
(然后,当然找不到该数字的任何实例)。同时,似乎还有一个“看不见的空间”:当我的光标直接位于“ 8”的右边并按退格键时,“ 7”将被删除。
如果这有帮助:在查看变量(View(df$name)
)时,R不会显示+49 176 12345678
之类的数字,而是显示<U+202A>+49 176 12345678<U+202C>
。但是,当使用(例如)``table(df $ name)`时,这些Unicode控制字符不会出现。
答案 0 :(得分:2)
尝试使用此处建议的方法剥离非ASCII字符:gist.github.com/nassimhaddad/4643587。如您所确定的,看来您遇到的问题是字符串中有一些隐藏的字符。他们正在创造各种奇怪的行为。运行df$text <- gsub("[^\x20-\x7E]", "", df$text)
将删除字符串中的非ASCII字符,并且只剩下显示在屏幕上的数字和字符。