我是R
的新用户,目前在阅读.csv
文件并将其转换为data.frame
7
列时遇到了很多麻烦。这就是我在做的事情:
gene_symbols_table <- as.data.frame(read.csv(file="/home/nikita/Desktop
/CElegans_raw_data/gene_symbols_matching.csv", header=TRUE, sep=","))
之后我收到了data.frame
dim = 46761 x 1
,但我需要它46761 x 7
。我尝试了以下stackoverflow
个帖子:
How can you read a CSV file in R with different number of columns
但不知怎的,我的情况没有任何效果。 表格如下:
> head(gene_symbols_table, 3)
input.reason.matches.organism.name.primaryIdentifier.symbol.briefDescription.c
lass.secondaryIdentifier
1 WBGene00008675 MATCH 1 Caenorhabditis elegans
WBGene00008675 irld-26 Gene F11A5.7
2 WBGene00008676 MATCH 1 Caenorhabditis elegans
WBGene00008676 oac-15 Gene F11A5.8
3 WBGene00008677 MATCH 1 Caenorhabditis elegans
WBGene00008677 Gene F11A5.9
.csv
中的Excel
文件如下所示:
input | reason | matches | organism.name | primaryIdentifier | symbol |
briefDescription
WBGene00008675 | MATCH | 1 | Caenorhabditis elegans WBGene00008675 | irld-26 | ...
...
以下代码:
gene_symbols_table <- read.table(file="/home/nikita/Desktop
/CElegans_raw_data/gene_symbols_matching.csv", header=FALSE, sep=",",
col.names = paste0("V",seq_len(7)), fill = TRUE)
似乎正在发挥作用,但是当我调查dim
时,我立刻就能看出它是错误的:20124 x 7
。然后:
V1
1input;reason;matches;organism.name;primaryIdentifier;symbol;briefDescription;class;secondaryIdentifier
2 WBGene00008675;MATCH;1;Caenorhabditis
elegans;WBGene00008675;irld-26;;Gene;F11A5.7
3 WBGene00008676;MATCH;1;Caenorhabditis
elegans;WBGene00008676;oac-15;;Gene;F11A5.8
V2 V3 V4 V5
1
2
3
1
所以,这是错误的
read.table
的其他尝试正在给我第二个stackoverflow
线程中指定的错误。
我也尝试将data.frame
与一列分成7,但到目前为止还没有成功。
答案 0 :(得分:0)
sep
似乎是空格或分号,而不是表格所示的逗号。因此,请尝试指定,或者您可以从fread
包中尝试data.table
,这会自动检测分隔符。
gene_symbols_table <- as.data.frame(fread(file="/home/nikita/Desktop
/CElegans_raw_data/gene_symbols_matching.csv", header=TRUE))