如何在R中读入制表符分隔的数据,并立即从数据中生成矩阵?

如何在R中读入制表符分隔的数据,并立即从数据中生成矩阵?,r,matrix,dataframe,R,Matrix,Dataframe,我有一些简单的数据,我需要在矩阵格式的下游计算。我的数据如下: …我想这样做,读取数据并标记尺寸: d <- read.delim("test_data.txt",header=TRUE,stringsAsFactors=FALSE) d <- as.matrix(???) rownames(d) <- (???) colnames(d) <- (???) …但获取错误:热图中的错误(myMatrix):“x”必须是数字矩阵 有人能帮我解决这个问题吗?让我们举一个重复

我有一些简单的数据,我需要在矩阵格式的下游计算。我的数据如下:

…我想这样做,读取数据并标记尺寸:

d <- read.delim("test_data.txt",header=TRUE,stringsAsFactors=FALSE)
d <- as.matrix(???)
rownames(d) <- (???)
colnames(d) <- (???)
…但获取错误:热图中的错误(myMatrix):“x”必须是数字矩阵


有人能帮我解决这个问题吗?

让我们举一个重复的例子:

tab <- read.delim(text="Sample1,Sample2,Sample3
ID_A,4,1,6
ID_B,8,4,4
ID_C,7,5,7
ID_D,9,5,2
ID_E,0,0,3
", sep=",", row.names=1,header=TRUE)
然后:

heatmap(mat, margins=c(10,10))
给你:


这就是您要找的吗?

您可能想要
作为.matrix
,而不是
matrix
。在转换任何内容之前,请尝试在数据帧上运行
摘要(d)
str(d)
。这将告诉您是否有任何字符或因子列将数据弄乱<代码> AS .Matrix < /C>将强制将数据帧中的每一项强制为一种模式,因此您要确保在做这件事之前所有的东西都是数字的。这里给出一些问题的提示:(1)数据的图像/截图基本上是无用的,许多人会认为它们是令人讨厌的,(2)提供一个可再现的示例,其中包含产生错误的数据和代码。函数
head
dput
str
可能对这方面有用。请尝试
d@jake9115。下次请使用
dput
显示数据的结构和内容。避免猜测!:-)谢谢你简洁的回答!
mat <- as.matrix(tab)
heatmap(mat, margins=c(10,10))