【问题标题】:R persp Error: (list) object cannot be coerced to type 'double'R persp 错误:(列表)对象不能被强制输入'double'
【发布时间】: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


【解决方案1】:

“z”应该是matrix

 z <- as.matrix(d2)

然后它应该运行。

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 2012-01-17
    • 2016-05-24
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2023-03-26
    • 2020-11-30
    • 1970-01-01
    相关资源
    最近更新 更多