如何修复数据帧中的编码,而不考虑其在R中的行或列(使用dplyr)?
原来的标题“如何替换字符串”更新为“修复编码”,因为这是这里回答的问题 我有一个数据框,在从web源导入时出现了某些错误。我希望用我认为正确的字符串替换这些字符串,我正在学习R和dplyr,因此知道如何这样做可能会帮助我解决更大的数据清理问题 请在第20行和第31行找到带有erros的图像,其中我们看到的是“UniversitÕt”而不是“Universitat”和“LinkÕping”而不是“Linkaping” 我知道我可以查找行和列并尝试替换它们,但如果数据帧或数据集较大,我将无法找到所有实例 因为我知道这个差异,我想搜索这个词本身并替换它。只字片语。我知道它是一根弦的一部分。但我还是想处理这部分,我能做到吗 非常感谢您的帮助,我也非常感谢您能为这个问题提供简单和复杂的所有可能的方法和解决方案,这将帮助我更快地学习,谢谢如何修复数据帧中的编码,而不考虑其在R中的行或列(使用dplyr)?,r,dplyr,R,Dplyr,原来的标题“如何替换字符串”更新为“修复编码”,因为这是这里回答的问题 我有一个数据框,在从web源导入时出现了某些错误。我希望用我认为正确的字符串替换这些字符串,我正在学习R和dplyr,因此知道如何这样做可能会帮助我解决更大的数据清理问题 请在第20行和第31行找到带有erros的图像,其中我们看到的是“UniversitÕt”而不是“Universitat”和“LinkÕping”而不是“Linkaping” 我知道我可以查找行和列并尝试替换它们,但如果数据帧或数据集较大,我将无法找到
name country
1 TU Dortmund Germany
2 TU Dortmund Germany
3 Maastricht University Netherlands
4 University of the Fraser Valley Canada
5 Queen's University Canada
6 Aarhus University Denmark
7 University Of Alberta Canada
8 Deakin University Australia
9 Macquarie University Australia
10 National University Of Ireland, Galway Ireland
11 Vienna University Austria
12 National University of Singapore Singapore
13 Erasmus University Netherlands
14 Radboud Universiteit Nijmegen Netherlands
15 Vrije Universiteit Amsterdam Netherlands
16 University of Otago New Zealand
17 National College Of Ireland Ireland
18 University College Cork Ireland
19 Irish Management Institute Ireland
20 Universität Konstanz Germany
21 Otto Von Guericke University Magdeburg Germany
22 University of Technology Sydney Australia
23 Dublin City University Ireland
24 Institute Of Technology Blanchardstown Ireland
25 Kth Royal Institute Of Technology Sweden
26 Aalto University Finland
27 Dalarna University Sweden
28 University Of Helsinki Finland
29 Aarhus University Denmark
30 University College Dublin Ireland
31 Linköping University Sweden
32 Aalborg University Denmark
33 Dublin Institute Of Technology Ireland
34 York University Canada
35 Maastricht University Netherlands
36 Utrecht University Netherlands
你可以用几种方法来纠正这个问题
UTF-8
)
UTF-8
编码
library(stringi)
df[] <- lapply(df, function(x) stri_encode(x, "", "UTF-8"))
库(stringi)
df[]您可以通过两种方式纠正此问题
使用正确的编码读取文件(UTF-8
)
读取文件后,应用函数转换为UTF-8
编码
library(stringi)
df[] <- lapply(df, function(x) stri_encode(x, "", "UTF-8"))
库(stringi)
DF[]请考虑使用<代码> DPUT <代码>显示数据集,或者只粘贴几行,而不是显示<代码>图像< /C>文件。这可能是编码问题。请显示sessionInfo()
我正在使用[1]LC_CTYPE=en_US.UTF-8查看R3.1.2
,嘿,akrun,谢谢你的回复,我用你的代码阅读了csv文件,效果很好,谢谢。但是我仍然想知道我是否可以替换字符串的一部分,而不管数据框中的列或行位置如何..我试图对您的评论进行投票,但我猜我做得不对,丢失了您关于替换代码的最后一条评论,请再次发布。请考虑使用<代码> DPUT <代码>显示数据集,或者只粘贴几行而不是显示<代码>图像< /代码>文件。这可能是编码问题。请显示sessionInfo()
我正在使用[1]LC_CTYPE=en_US.UTF-8查看R3.1.2
,嘿,akrun,谢谢你的回复,我用你的代码阅读了csv文件,效果很好,谢谢。但是我仍然想知道我是否可以替换字符串的一部分,而不管列或行在数据框中的位置如何..我试图更新您的评论,但我猜我做得不对,丢失了您关于替换代码的最后一条评论,请您再次发布。
library(stringi)
df[] <- lapply(df, function(x) stri_encode(x, "", "UTF-8"))