去掉 从R中的列中的值[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去掉 从R中的列中的值[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

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

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

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

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

我不知道如何处理这个问题。

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

答案

两种选择:

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语法,但空格将保留。请注意,如果字符串的开头或结尾有多余的空格,您可能会获得不需要的唯一值。例如,转换为ASCII的"Met Expectations<U+00A0>"将读取"Met Expectations ",它不等于"Met Expectations"

另一答案

问题困扰我很长一段时间,我在R社区周围搜索,“r”标签中的答案都不适用于我的情况。在我扩展搜索区域之前,我在“java”标签中得到了有效的答案。好的,对于数据框架,解决方案是:

application <- as.data.frame(lapply(application, function(x) {
              gsub("u00A0", "", x) 
         })) 
另一答案

这不是一个很好的答案,但要让你的csv回到UTF-8,你可以在谷歌表中打开它,然后下载为.csv。然后使用trim_ws = T导入。这将解决导入问题,不会产生任何怪异。

以上是关于去掉 从R中的列中的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

R:从R中的大型数据集中根据列中的值删除行[重复]

如何创建临时表或仅从循环中的列中选择不同的值

如何编写一个SqlCommand,在ASP.NET中的列中选择前3个最重复的值

根据条件验证R中两个数据框之间的列中的值

对于要求,我需要通过从该数据帧的列中的列表中的值创建行来将数据帧转换为 [重复]

熊猫根据索引标签选择特定列中的值[重复]