读取 csv 文件时出错

error in reading a csv file

我在读取 csv 文件时遇到错误。该行的前几行如下所示:

"","1.CEL","2.CEL","3.CEL","4.CEL"
"1_s_at",NA,NA,NA,NA
"2_at",NA,NA,NA,NA
"3_at",NA,NA,NA,NA
"4_at",NA,NA,NA,NA
"5_g_at",NA,NA,NA,NA
"6_at",NA,NA,NA,NA
"7_at",NA,NA,NA,NA

阅读 csv.file

test <- read.csv(file='/home/userxyz/test.csv')
head(test)
#       X X1.CEL X2.CEL X3.CEL X4.CEL
#1 1_s_at     NA     NA     NA     NA
#2   2_at     NA     NA     NA     NA
#3   3_at     NA     NA     NA     NA
#4   4_at     NA     NA     NA     NA
#5 5_g_at     NA     NA     NA     NA
#6   6_at     NA     NA     NA     NA

明确指定 header 的存在。

test <- read.csv(file='/home/userxyz/test.file', header=T)
head(test)
#           X X1.CEL X2.CEL X3.CEL X4.CEL
#1 1_s_at     NA     NA     NA     NA
#2   2_at     NA     NA     NA     NA
#3   3_at     NA     NA     NA     NA
#4   4_at     NA     NA     NA     NA
#5 5_g_at     NA     NA     NA     NA
#6   6_at     NA     NA     NA     NA

虽然明确指定了 row.names,但没有成功。

test <- read.csv(file='/home/userxyz/test.file', row.names=T)
#Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
#  invalid 'row.names' specification

read.tableread.delim 函数也已查看。

是否因为row.names中的特殊字符错误?

我认为您正在尝试将第一列读作行名。尝试:

x <- '"","1.CEL","2.CEL","3.CEL","4.CEL"
"1_s_at",NA,NA,NA,NA
"2_at",NA,NA,NA,NA
"3_at",NA,NA,NA,NA
"4_at",NA,NA,NA,NA
"5_g_at",NA,NA,NA,NA
"6_at",NA,NA,NA,NA
"7_at",NA,NA,NA,NA'

read.csv(text = x, row.names = 1L)

#       X1.CEL X2.CEL X3.CEL X4.CEL
#1_s_at     NA     NA     NA     NA
#2_at       NA     NA     NA     NA
#3_at       NA     NA     NA     NA
#4_at       NA     NA     NA     NA
#5_g_at     NA     NA     NA     NA
#6_at       NA     NA     NA     NA
#7_at       NA     NA     NA     NA

如果你想完全保留header,做

read.csv(text = x, row.names = 1L, check.names = FALSE)

#       1.CEL 2.CEL 3.CEL 4.CEL
#1_s_at    NA    NA    NA    NA
#2_at      NA    NA    NA    NA
#3_at      NA    NA    NA    NA
#4_at      NA    NA    NA    NA
#5_g_at    NA    NA    NA    NA
#6_at      NA    NA    NA    NA
#7_at      NA    NA    NA    NA

关于row.name,阅读?read.csv

row.names: a vector of row names.  This can be a vector giving the
           actual row names, or a single number giving the column of the
           table which contains the row names, or character string
           giving the name of the table column containing the row names.