我有一个 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/