x<- c(4,5,6,2,3,8,4,7)
y<- c(6,9,2,1,2,5,6,3)
plot(x,y)
plot(x~y)
2个绘图函数参数有什么区别?
plot(x,y)
: x
is used as x values and y
is used as y values.
plot(x~y)
: y
is used as x values and x
is used as y values.
Read the help pages: ?plot
and ?plot.formula
.
如果您键入这些字母plot
,您会看到一个函数定义,其核心是UseMethod("plot")
. plot
是一个“通用”函数,这意味着参数类决定了调用的调度方式。因此,R 将检查其第一个参数的类,x
在 的情况下为(数字向量),在 的情况下为plot(x,y)
(x~y
公式)plot(x~y)
。调用了两个不同的函数:plot.default
第一个实例和plot.formula
第二个实例。plot.formula
然后查看左侧(LHS)参数,在这种情况下为“x”,以进一步确定使用什么方法。
R中的公式通常可以读作“LHS依赖于RHS”或“LHS作为RHS分布”,因此x
在绘图函数的parent.frame中将绘制到纵坐标(通常称为“y轴”)而 y 将位于横坐标(x 轴)上。看:
help(plot.formula)
在这种情况下
plot(x~y) = plot(y,x)
这就是为什么你没有相同的结果。
plot(x~y)
是一个公式,并且plot(x,y)
正在为您的轴设置离散值...
感谢@hd1 的回答。在绘图时,它确实帮助我理解 和 之间的~
区别,
。
@selvam,直接的区别是您正在交换轴。但也许这可能有助于理解@hd1 给出的解释意味着什么。
尝试这个:
boxplot(y~x)
这不同于boxplot(x~y)
boxplot(y,x)
交换顺序boxplot(x,y)
将改变图中的索引。
谢谢