如何使用tidyverse工具将矩阵读取到R中?

问题描述

能帮我吗?

我经常需要将发病率矩阵(AxB)读入R格式为 TXT 文件中。他们看起来像这样:

matrix <- matrix(round(runif(50,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))