读取csv文件时出错

时间:2016-09-05 12:20:45

标签: r csv read.csv

我在阅读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

明确指定标题的存在。

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

中的特殊字符

1 个答案:

答案 0 :(得分:1)

我认为您试图在第一列中读取行名称。尝试:

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

如果要准确保留标题,请执行

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.