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

问题描述 投票:0回答:3

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

当我使用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:我已经用面临的问题的例子修改了原始问题。

r encoding utf-8
3个回答
0
投票

两种选择:

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"


0
投票

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

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.