【问题标题】:handling special characters e.g. accents in R处理特殊字符,例如R中的重音符号
【发布时间】:2012-03-01 05:52:23
【问题描述】:

我正在将一些网络名称抓取到数据框中

对于诸如“Tomáš Rosický”之类的名称,我得到的结果是“Tomá¡Å¡ Rosický”

我试过了

Encoding("Tomáš Rosický") #  with latin1 response

但不确定从那里去哪里才能得到带有重音符号的原始名称。玩弄 iconv 没有成功

我会满足(甚至可能更喜欢)“Tomas Rosicky”的输出

【问题讨论】:

  • 你是如何读取data.frame的?通常您可以提供一个编码参数,例如fileEncodingread.table。正如@Hong Ooi 回答的那样,UTF-8 似乎是您需要的编码。

标签: r character


【解决方案1】:

您已阅读以 UTF-8 编码的页面。如果x 是您的姓名列,请使用Encoding(x) <- "UTF-8"

【讨论】:

    【解决方案2】:

    你应该使用这个:

    df$colname <- iconv(df$colname, from="UTF-8", to="LATIN1")
    

    【讨论】:

    • 能否请您也添加一些解释?
    【解决方案3】:

    要正确读取文件,请使用扫描功能:

    namb <- scan(file='g:/testcodering.txt', fileEncoding='UTF-8',
    what=character(), sep='\n', allowEscapes=T)
    cat(namb)
    

    这也有效:

    namc <- readLines(con <- file('g:/testcodering.txt', "r",
    encoding='UTF-8')); close(con)
    cat(namc)
    

    这将使用正确的重音读取文件

    【讨论】:

      【解决方案4】:

      正确导出重音的方法:

      enc2utf8(as(dataframe$columnname, "character"))
      

      【讨论】:

        猜你喜欢
        • 2011-10-29
        • 2016-08-11
        • 2023-01-11
        • 2020-12-17
        • 1970-01-01
        • 2023-03-03
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多