【问题标题】:R: How do I get rid of a question mark block in a character string?R:如何去掉字符串中的问号块?
【发布时间】:2020-06-19 18:44:25
【问题描述】:

我有一个 vector 和一组来自单独的 data frameCompany Name 观察结果。我使用vector 作为查看data frame 中所有唯一公司名称列表的一种方式,然后对其进行清理(更正拼写错误、更改/删除合并中的名称等)。由于data 的性质不允许丝般光滑的清洁过程,因此重命名是逐行完成的(即硬编码)。我遇到了一个奇怪的问题,不知道如何解决。

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

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's 的名称之后看到的替代名称是带有问号块的名称。我通过调用问题阻止名称出现的向量的特定行(即 vector[32] ),并将输出物理复制并粘贴到代码中来获得该替代名称。

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

Company_Name

SES S.A.

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

Company_Name

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

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

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

【问题讨论】:

    标签: r dataframe vector special-characters naming


    【解决方案1】:

    这可能是编码问题。

    查看带问号的行的编码:

    Encoding(Company_Name)
    

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

    Encoding(Company_Name)<-'latin1'
    
    

    【讨论】:

    • @Gordon L.,我很想知道这是否解决了问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多