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)将改变图中的索引。
谢谢