我最近打开了一个月前我写的一些代码突然间,当我尝试将一个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中运行它也会遇到同样的问题。
我的设置有问题或我如何分配/命名对象?我花了一个星期的时间编写我的代码来制作这些非常漂亮的图,现在它不起作用,我无法找出原因。我尝试更改对象名称,因此他们没有数字,我已经用Google搜索了这个。非常感谢任何帮助。
答案 0 :(得分:2)
网格图(包括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(...))
将分配并打印图。
答案 1 :(得分:0)