R:如何去除字符串中的问号 block ?

标签 r dataframe vector special-characters naming

我有一个 vector,其中包含来自单独的 data frame 的一堆 Company Name 观察值。我使用 vector 来查看 data frame 中所有唯一公司名称的列表,然后对其进行清理(更正拼写错误、更改/删除名称来自合并等)。由于 data 的性质不允许丝般顺畅的清理过程,因此重命名是逐行完成的(即硬编码)。我遇到了一个奇怪的问题,我不确定如何解决。

有几家公司的名称涉及某些特殊字符,如“ñ”、“ü”、“é”等。从 View 查看这个 vector > 窗口,这些观察结果旁边也有一个相同的条目,只是用一个奇怪的问号 block 代替了那些字母。例如:

Company_Name

SES (Société Européenne des Satellites (SES))
SES (Soci�t� Europ�enne des Satellites (SES))

最初,我用这样一行代码来修复拼写错误:

dataframe$Company_Name[which(dataframe$Company_Name == "SES (Société Européenne des Satellites (SES))" | dataframe$Company_Name == "SES (Soci\xe9t\xe9 Europ\xe9enne des Satellites (SES))"] <- "SES S.A."

您在带有重音符号“e”的名称后看到的替代名称是带有问号 block 的名称。我通过调用出现问题阻止名称的矢量的特定行(即 vector[32] ),并将输出物理复制并粘贴到代码中,获得了替代名称。

理想情况下,清理完成后 vector 最终看起来像这样:

Company_Name

SES S.A.

但是,它没有删除问号 block ,而是保留了它们:

Company_Name

SES S.A.
SES (Soci�t� Europ�enne des Satellites (SES))

有没有人遇到过类似的问题?我检查了问题是否出在拼写上,但这似乎不是问题所在。非常感谢任何帮助。

(注意:我对特定软件包没有偏好 - 所有选项都在桌面上!)

最佳答案

这可能是一个编码问题。

查看带有问号的行的编码:

Encoding(Company_Name)

对于法语句子,你应该设置编码如下:

Encoding(Company_Name)<-'latin1'

关于R:如何去除字符串中的问号 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62476706/

相关文章:

r - 如何清理调查数据?

r - 测量每天第一个和最后一个位置记录与 R 中动物之间的距离

python - 非数字数据的散点图

math - 同一平面内具有相同原点的两个 3D 向量之间的符号角

java - Java中的 vector 空间模型算法来获得两个人之间的相似度分数

R - 如何从写入文件的列表中删除 "c("

r - 我可以在 Shiny 的 onSessionEnded 事件中访问 session 值吗?

r - R 中的 log2 : How to calculate the exponent and mantissa

python - 枚举 DataFrame 中每个组的每一行

c++ - 得墨忒耳定律或返回整个 vector