R:如何处理替换字符&xffd;这并不意味着';我不想消失

R:如何处理替换字符&xffd;这并不意味着';我不想消失,r,dataframe,special-characters,utf,R,Dataframe,Special Characters,Utf,我有一个大数据框架main\u df,其中包含公司名称和几个变量。一些公司名称拼写错误、拼写错误或需要更改。因此,我正在使用以下方法创建唯一名称的向量: unique_names <- unique(levels(as.factor(main_df$company_name))) 例如,假设冠一基金会将其名称更改为冠二基金会。在这种情况下,我将在main_df中对所有实例的更改进行硬编码: main_df$company_name[which(main_df$company_name =

我有一个大数据框架
main\u df
,其中包含
公司名称
和几个
变量
。一些
公司名称
拼写错误、拼写错误或需要更改。因此,我正在使用以下方法创建唯一名称的
向量

unique_names <- unique(levels(as.factor(main_df$company_name)))
例如,假设
冠一基金会
将其名称更改为
冠二基金会
。在这种情况下,我将在
main_df
中对所有实例的更改进行硬编码:

main_df$company_name[which(main_df$company_name == "Crown One Foundation")] <- "Crown Two Foundation"
我还尝试切掉相应的单元格并使用结果:
唯一的\u名称[100]

main_df$company_name[which(main_df$company_name == "Institut f\xfcr Luft-und Raumfahrttechnik")] <- "Institut fur Luft-und Raumfahrttechnik"
这里是
dput(head(main_df$company_name))


数据可能是使用不兼容的代码集导入的。 例如,使用美国ascii码读取ISO-8859-5(西里尔文)文本

如果您可以重新导入原始数据集,这可能会为您提供一个更干净、更好的数据集,以便将来使用

如果您需要使用现有资源,我发现此链接是一个很好的起点: 编辑:

您是否尝试过使用
gsub
和正则表达式替换有问题的一个字符并转换为字符类型

数据:

结果:

[1] "Institut für Luft-und Raumfahrttechnik" "Aarhus University"                      "ACDVE"                                 
[4] "Aero LLC"                               "AgilitySpaceCorp"                       "Air Force Research Laboratory (AFRL)"  
[7] "Airbus" 
我的直觉是,如果您有多个这样的特殊情况,您应该将全名集转换为字符:

df$Name <- as.character(df$Name)

感谢您的见解@27ñ9!我已将请求的行添加到问题中。更新:我通过结合使用startsWith和endsWith解决了该问题。笨重但有效的跨平台。更新了我的答案。大部分解决方案都与字符的类型转换有关!非常有帮助,克里斯!我很感激!如果它有助于回答你的问题,请考虑接受我的答案。
c("Aalborg University", "Aalto University", "Aarhus University", "ACDVE", "Aero LLC", "AgilitySpaceCorp", "Air Force Research Laboratory (AFRL), "Airbus")
c("Aalborg University", "Aalborg University", "Aalborg University", "Aalborg University", "Aalborg University", "Aalborg University")
df <- data.frame(
  Name = c("Institut f�r Luft-und Raumfahrttechnik", "Aarhus University", "ACDVE", "Aero LLC", "AgilitySpaceCorp", "Air Force Research Laboratory (AFRL)", "Airbus"))
gsub("�","ü",as.character(df$Name))
[1] "Institut für Luft-und Raumfahrttechnik" "Aarhus University"                      "ACDVE"                                 
[4] "Aero LLC"                               "AgilitySpaceCorp"                       "Air Force Research Laboratory (AFRL)"  
[7] "Airbus" 
df$Name <- as.character(df$Name)
df[grepl("[^ -~]", df$Name),]
[1] "Institut f�r Luft-und Raumfahrttechnik"