【问题标题】:Remove <U+00A0> from values in columns in R [duplicate]从 R 中的列中的值中删除 <U+00A0> [重复]
【发布时间】:2016-12-12 20:01:56
【问题描述】:

当我使用 read.csv 并使用 encoding 参数读取我的 csv 文件时,我会在其中得到一些值。

application <- read.csv("application.csv", na.strings = c("N/A","","NA"), encoding = "UTF-8")

数据集看起来像

           X                                      Y
Met<U+00A0>Expectations               Met<U+00A0>Expectations
Met<U+00A0>Expectations               Met<U+00A0>Expectations
        NA                            Met<U+00A0>Expectations  
Met<U+00A0>Expectations               Exceeded Expectations
Did<U+00A0>Not Meet Expectations      Met<U+00A0>Expectations
Unacceptable                          Exceeded Expectations

如何从这些值中删除 ?如果我不使用“编码”参数,当我在闪亮的应用程序中显示这些值时,它会被视为:

Met<a0>Expectations and Did<a0>Not Meet Expectations

我不知道如何处理。

PS:我已经用所面临问题的示例修改了原始问题。

【问题讨论】:

  • 如果它只是一个额外的列。在名称中,您可以运行类似这样的内容来替换 .带空格sub("\\."," ",dataframe$column)
  • @Kristofersen:问题不在于列名,而在于每列中的值。我已经编辑了这篇文章并提供了更多信息。
  • 抱歉,该代码实际上适用于该列。只需将 dataframe 替换为您的数据框名称,并将 column 替换为您的列名称和 all 。将替换为空格。
  • @Kristofersen 对不起,我能明白你的意思,但我在问这个问题时并不清楚。我添加了一个问题的例子,并保持问题简单。当我使用“编码”作为参数时,我在某些值中得到 。我希望从数据集中删除这些。

标签: r encoding utf-8


【解决方案1】:

这个问题困扰了我很长时间,我在 R 社区中搜索,“r”标签中没有答案可以在我的情况下工作。在我扩展搜索区域之前,我在“java”标签中得到了有效的答案。 好的,对于数据框,解决方法是:

application <- as.data.frame(lapply(application, function(x) {
              gsub("\u00A0", "", x) 
         })) 

【讨论】:

    【解决方案2】:

    两种选择:

    application <- read.csv("application.csv", na.strings = c("N/A","","NA"), encoding = "ASCII")
    

    {readr}

    application <- read_csv("application.csv", na.strings = c("N/A","","NA"), locale = locale(encoding = "ASCII"))
    

    将 UTF-8 转换为 ASCII 将删除打印的 UTF-8 语法,但空格将保留。请注意,如果字符串的开头或结尾有多余的空格,您可能会得到不需要的唯一值。例如"Met Expectations&lt;U+00A0&gt;" 转换为 ASCII 将读取"Met Expectations ",它不等于"Met Expectations"

    【讨论】:

      【解决方案3】:

      这不是一个很好的答案,但要将您的 csv 恢复为 UTF-8,您可以在 google 表格中打开它,然后下载为 .csv。然后使用 trim_ws = T 导入。这将解决导入问题并且不会产生任何怪异。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-23
        • 2015-09-30
        相关资源
        最近更新 更多