为什么r在列中的因子末尾添加\ n?

时间:2017-10-27 01:12:39

标签: r

R在导入数据后在某些字符值的末尾添加\ n(它仅针对某些字符值执行此操作,而不是全部执行此操作)。当我从环境中查看数据集时它不会显示,但是当我通过在控制台中键入列的名称来获取因子的名称(R将它们存储为因子)时,\ n显示出来在控制台中。这是一个问题,因为除非我在最后添加\ n,否则R不会识别因子级别。我还没有能够在SO中找到任何相关内容,有谁知道如何摆脱它?

注意:其中一个级别具有特殊字符(&),但在这种情况下\ n不会显示。我试图找到它出现的时候的共性,但它似乎很随机。

我正在使用read.csv来读取数据。

dat<- read.csv("datapath.csv", header=TRUE,strip.white=TRUE)

我使用levels(datcol),它显示的内容如下:

> levels(datcol) [1] "All" "BMUS & CREMUS" "BMUS\n"
[4] "CREMUS All" "CREMUS Crustaceans\n" "CREMUS Fishes\n"
[7] "Precious Corals\n"

我已尝试将stringsAsFactors=FALSE添加到read.csv中,并且 然后是dat$datcol<- gsub("/n", "", dat$datcol),但\ n仍在显示。

数据看起来像这样:

Grp1Code datcol hYear B 1 BMUS 1966 130 1 BMUS 1967 167 1 BMUS 1968 164

1 个答案:

答案 0 :(得分:1)

/n表示换行符。您正在阅读的数据可能包含换行符。根据您用于读取数据的功能,您可以添加stringsAsFactors=FALSE,然后添加:

df$problemColumn <- gsub("\n", "", df$problemColumn)

可能有用。