为我正在撰写的一篇论文做一些可视化,但一直在将数据从 CSV 加载表传输到矩阵(以便之后能够从中绘制热图)。
我这样做:
dta.tesiscsv<- read.csv("dtatesis.csv", header=TRUE)
加载如下所示的数据样本:
Col,Row,Kf
1,1,100
1,2,97.14285714
2,1,100
...,...,...
但我有点迷失在下一步(创建一个空矩阵并根据公式将数据从表传输到它):
X<- matrix(nrow= 48, ncol=12)
X[dta.test[,c(1:2)]] <- dta.test$Kf
最佳答案
您可以使用 reshape2
包中的 acast
来获取您想要的矩阵形式的数据。
require(reshape2)
acast(dta.test, Row ~ Col, value.var = "Kf")
这将用 NA
填充缺失值。如果你想填充它们,例如,用 0 代替,那么,
acast(dta.test, Row ~ Col, value.var = "Kf", fill = 0)
会做到这一点。您可以使用 heatmap(.)
将其包裹起来以获取热图。
关于r - 将 CSV 数据转换为矩阵到 R 中的热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598117/