6

我正在尝试绘制 a 和 b,每个都包含 7500 个数据点。但是,当我尝试 plot(x,y) 时,出现以下错误:

> plot(a[11],b[11])
Error in xy.coords(x, y, xlabel, ylabel, log) : 
  (list) object cannot be coerced to type 'double'

这很奇怪,因为所有值都是整数。我能做些什么?

谢谢你。

4

1 回答 1

8

看起来您正试图从列表中绘制一个向量。尝试使用$or进行子集化[[]]

这是你的问题:

a <- as.list(data.frame("x"=1:5,"y"=5:1))
b <- as.list(data.frame("x"=1:5,"y"=5:1))

plot(a[2],b[2]) ## recreates your error

这是解决方案:

plot(a$y, b$y) ## plots as expected subsetting by $

或者,如果您更喜欢使用数字:

plot(a[[2]],b[[2]])

我强烈建议您阅读与此相关的帮助页面:

?'['
于 2011-07-14T06:19:52.640 回答