假设我有一个带有变量a,b,c的数据框
我想使用symbols()
的功能,以情节b
针对a
这样c != 0
,和建立社交圈,其中圆的面积成正比c
。对两个轴都使用对数刻度。
这是我所做的:
symbols(a[!c == 0], b[!c == 0], log = "xy",
inches=1/3, xlim=c(1e2, 1e11), ylim=c(1, 1e9), circles = c)
我得到了:
Error in symbols(a[!c == 0], b[!c == :
x/y/parameter length mismatch
In addition: Warning messages:
1: "log" is not a graphical parameter
我不确定您为什么log = "xy"
不工作,但是您的x/y/parameter
问题是因为您的参数circles = c
比您的x
and长y
,c
即使它c
是0,它也包含在内。因此这应该可以工作:
symbols(a[!c == 0], b[!c == 0], log = "xy",
inches=1/3, xlim=c(1e2, 1e11), ylim=c(1, 1e9), circles = c[c != 0])
作为获取对数刻度的一种解决方法,首先设置一个空图,然后添加符号
plot(NA, NA, type = "n", xlim=c(1e2, 1e11), ylim=c(1, 1e9), log = "xy")
symbols(x = a[!c == 0], y = b[!c == 0],
inches=1/3, circles = c[c != 0], add = T)
另一注:您说数据在data.frame中,但随后仅在调用中使用变量。这看起来好像您已经attach
编辑了数据框。如果我是你,我会避免这种情况。它节省了一些键入操作,但冒着难以发现错误的风险,在这些错误中,您修改了附加变量或原始data.frame,它们不再匹配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句