Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复数据帧中的编码,而不考虑其在R中的行或列(使用dplyr)?_R_Dplyr - Fatal编程技术网

如何修复数据帧中的编码,而不考虑其在R中的行或列(使用dplyr)?

如何修复数据帧中的编码,而不考虑其在R中的行或列(使用dplyr)?,r,dplyr,R,Dplyr,原来的标题“如何替换字符串”更新为“修复编码”,因为这是这里回答的问题 我有一个数据框,在从web源导入时出现了某些错误。我希望用我认为正确的字符串替换这些字符串,我正在学习R和dplyr,因此知道如何这样做可能会帮助我解决更大的数据清理问题 请在第20行和第31行找到带有erros的图像,其中我们看到的是“UniversitÕt”而不是“Universitat”和“LinkÕping”而不是“Linkaping” 我知道我可以查找行和列并尝试替换它们,但如果数据帧或数据集较大,我将无法找到

原来的标题“如何替换字符串”更新为“修复编码”,因为这是这里回答的问题

我有一个数据框,在从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"))