如何在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))