繁体   English   中英

如何使用tidyverse工具将矩阵读入R?

[英]How to read a matrix into R using tidyverse tools?

请你帮助我好吗?

我经常需要将关联矩阵(AxB) 读入R格式的TXT文件。 它们看起来像这样:

matrix <- matrix(round(runif(50, 0, 100),0), 5, 10)

我通常的解决方案涉及 base 的read.delimas.matrix

as.matrix(read.delim("matrix.txt", row.names = 1))

该文件被读取并转换为matrix类,因此可以进行适当的分析。

但是,我希望也能够使用tidyverse 的read_delim读取矩阵文件,因此对于大型矩阵或大量矩阵,读取过程可以更快。 我试过这个:

as.matrix(read_delim("matrix.txt", delim = "/t"))

但是数据以一种非常奇怪的格式被打乱,并且信息丢失了。 有没有办法使用tidyverse工具读取和处理关联matrices

谢谢!

在 R 中,您需要使用反斜杠来表示特殊字符和转义字符。

尝试

as.matrix(read_delim("matrix.txt", delim = "\t"))

read_delim函数没有 row.names 选项,因此您必须转换数据才能将行名作为行名(而不是第一列)。 您应该在转换为矩阵之前执行此操作。

library(tidyverse)
matrix <- read_delim("matrix.txt", delim = "\t") %>%
  column_to_rownames(first_column) %>%
  as.matrix()

尝试这个

as.matrix(read_delim("matrix.txt", delim = "\t", col_names = F))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM