无法将绘图分配给 R 中的对象
Cant assign a plot to an object in R
我最近打开了大约一个月前写的一些代码,当我尝试将 xyplot 分配给变量时,突然发现它不起作用。但是如果我不把它分配给一个变量,我仍然可以看到情节。
示例:
xyplot() #returns beautiful plot
p1<-xyplot() #returns nothing
p2<-xyplot() #returns nothing
p1+p2 #returns "Error in p1 + p2 : non-numeric argument to binary operator"
我正在使用 R Studio,我尝试更新它来解决问题,但如果我在 R 中也 运行 它,我也会遇到同样的问题。
是我的设置有问题还是我assigning/naming对象有问题?我花了一个星期的时间来编写我的代码来制作这些非常漂亮的图,但现在它不起作用了,我也不知道为什么。我尝试更改对象名称,使它们没有数字,我已经用谷歌搜索了。非常感谢任何帮助。
网格图(包括 lattice
和 ggplot2
)就像普通的 R 对象一样工作。 (实际上,它们只是普通的 R 对象。)
如果您在控制台输入 x <- 1 + 2
,您看不到结果 3
。但是,如果您随后输入 x
或 print(x)
,您将看到它的值 3
,打印出来。
绘图的工作方式相同:p1 <- xyplot(...)
会将绘图分配给 p1
,但不会打印绘图。如果您随后输入 p1
或 print(p1)
,将打印绘图。
如果您在控制台 中输入 1 + 2
而未指定 ,将打印结果 3
。同样,如果您在控制台 中输入 xyplot(...)
而未指定 ,该图将打印出来。
如果将整行括在括号中,您可以同时获得赋值和打印:(x <- 1 + 2)
将赋值 x
并打印 3
。同样 (p1 <- xyplot(...))
将分配并打印绘图。
我猜你上次加载了 latticeExtra
,它添加了将几个网格对象添加为图层的选项。 (参见 help("+.trellis", package = "latticeExtra")
。)
library(lattice)
p1 <- xyplot(1:10 ~ 1:10)
p2 <- bwplot( ~ runif(10, 1, 10))
p1 + p2 # does not work
library(latticeExtra)
p1 + p2 # works now
我最近打开了大约一个月前写的一些代码,当我尝试将 xyplot 分配给变量时,突然发现它不起作用。但是如果我不把它分配给一个变量,我仍然可以看到情节。
示例:
xyplot() #returns beautiful plot
p1<-xyplot() #returns nothing
p2<-xyplot() #returns nothing
p1+p2 #returns "Error in p1 + p2 : non-numeric argument to binary operator"
我正在使用 R Studio,我尝试更新它来解决问题,但如果我在 R 中也 运行 它,我也会遇到同样的问题。
是我的设置有问题还是我assigning/naming对象有问题?我花了一个星期的时间来编写我的代码来制作这些非常漂亮的图,但现在它不起作用了,我也不知道为什么。我尝试更改对象名称,使它们没有数字,我已经用谷歌搜索了。非常感谢任何帮助。
网格图(包括 lattice
和 ggplot2
)就像普通的 R 对象一样工作。 (实际上,它们只是普通的 R 对象。)
如果您在控制台输入 x <- 1 + 2
,您看不到结果 3
。但是,如果您随后输入 x
或 print(x)
,您将看到它的值 3
,打印出来。
绘图的工作方式相同:p1 <- xyplot(...)
会将绘图分配给 p1
,但不会打印绘图。如果您随后输入 p1
或 print(p1)
,将打印绘图。
如果您在控制台 中输入 1 + 2
而未指定 ,将打印结果 3
。同样,如果您在控制台 中输入 xyplot(...)
而未指定 ,该图将打印出来。
如果将整行括在括号中,您可以同时获得赋值和打印:(x <- 1 + 2)
将赋值 x
并打印 3
。同样 (p1 <- xyplot(...))
将分配并打印绘图。
我猜你上次加载了 latticeExtra
,它添加了将几个网格对象添加为图层的选项。 (参见 help("+.trellis", package = "latticeExtra")
。)
library(lattice)
p1 <- xyplot(1:10 ~ 1:10)
p2 <- bwplot( ~ runif(10, 1, 10))
p1 + p2 # does not work
library(latticeExtra)
p1 + p2 # works now