【发布时间】:2016-09-30 19:37:07
【问题描述】:
我是 R 3D 绘图的新手。我基本上有一个大小为 9x3 的矩阵,矩阵的每个条目都是一个双精度值:
390.7269606 390.7330561 390.412666
296.815086 296.5989998 296.6268851
288.4770256 288.3036607 288.3418227
287.4134039 287.2562576 287.3429308
287.0195664 286.8701923 286.9848413
286.832489 286.6888436 286.814465
286.8124387 286.6696583 286.8013845
286.8062249 286.6645971 286.7765071
286.7860349 286.6451203 286.7765071
284.8167037 284.6893261 284.7967308
这里我必须绘制它们:
###loads the above matrix
d2 <- read.csv("data.csv", header=T, dec=".",sep = " ")
###loads x,y,z
x <- c(2,3,4,5,6,7,8,9,10)
y <- c(3,4,10)
z <- d2
###supposed to draw it!
persp(x, y, z,
zlab="Score", ylab = "C", xlab="T",
theta=30, phi=15,ticktype='detailed',
col="springgreen", shade=0.5)
但我收到以下错误:
Error in persp.default(x, y, z, zlab = "Score", ylab = "C", :
(list) object cannot be coerced to type 'double'
Calls: persp -> persp.default
Execution halted
这与 z 矩阵中的双精度值有关,但我不明白为什么会出现问题以及如何解决。
救命!
【问题讨论】:
-
我猜你需要转换成
matrix。现在是data.frame -
啊哈,你是对的,因为.matrix 已修复它。
标签: r