gpt4 book ai didi

R:读入 .csv 文件并转换为多列数据框

转载 作者:行者123 更新时间:2023-12-04 02:00:12 26 4
gpt4 key购买 nike

我是 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.framedim = 46761 x 1,但我需要它是 46761 x 7。我尝试了以下 stackoverflow 线程:

  1. How can you read a CSV file in R with different number of columns

  2. read.delim() - errors "more columns than column names" and "header and ''col.names" are of different lengths"

  3. Split a column of a data frame to multiple 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

Excel 中的 .csv 文件如下所示:

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 列,但到目前为止没有成功。

最佳答案

sep 似乎是空格或分号,而不是表格中的逗号。因此,要么尝试指定它,要么您可以尝试 data.table 包中的 fread,它会自动检测分隔符。

gene_symbols_table <- as.data.frame(fread(file="/home/nikita/Desktop
/CElegans_raw_data/gene_symbols_matching.csv", header=TRUE))

关于R:读入 .csv 文件并转换为多列数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com