2016-09-05 18 views
0

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 

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 

が明示的にヘッダの存在を特定csv.fileを読み取ります。

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の特殊文字のためにエラーが発生していますか?

+0

'row.names'をすることになっていますブール値ではないベクトル –

+0

@MartinDabbelJuSmelterファイルにrownamesが含まれていることを指定する方法? – Prradep

+0

@ ZheyuanLiはい。しかし実際のファイルにはrownamesとして表示されています – Prradep

答えて

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 

row.nameについて

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 

を行い、?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. 
+0

明確な説明をありがとう! 'row.names = 1L'は私が今日学んだ新しいアプローチです。 – Prradep

関連する問題