R 散点图


散点图

你从剧情章节认为plot()函数用于绘制数字之间的关系。

"scatter plot" 是一种绘图类型,用于显示两个数值变量之间的关系,并为每个观察值绘制一个点。

它需要两个相同长度的向量,一个用于 x 轴(水平),一个用于 y 轴(垂直):

示例

x <- c(5,7,8,7,2,2,9,4,11,12,9,6)
y <- c(99,86,87,88,111,103,87,94,78,77,85,86)

plot(x, y)

结果:

亲自试一试 »

上例中的观察应显示 12 辆汽车经过的结果。

对于第一次看到该图的人来说可能不清楚,所以让我们添加标题和不同的标签来更好地描述散点图:

示例

x <- c(5,7,8,7,2,2,9,4,11,12,9,6)
y <- c(99,86,87,88,111,103,87,94,78,77,85,86)

plot(x, y, main="Observation of Cars", xlab="Car age", ylab="Car speed")

结果:

亲自试一试 »

回顾一下,上例中的观察结果是 12 辆汽车经过的结果。

这个x 轴显示汽车的车龄。

这个y 轴显示汽车经过时的速度。

观察结果之间是否存在任何关系?

似乎车越新,开得越快,但这可能是巧合,毕竟我们只登记了12辆车。



比较图

在上面的例子中,车速和车龄之间似乎存在关系,但如果我们也绘制另一天的观察结果呢?散点图还能告诉我们其他信息吗?

要将图与另一个图进行比较,请使用points()功能:

示例

在同一个图上绘制两个图:

# day one, the age and speed of 12 cars:
x1 <- c(5,7,8,7,2,2,9,4,11,12,9,6)
y1 <- c(99,86,87,88,111,103,87,94,78,77,85,86)

# day two, the age and speed of 15 cars:
x2 <- c(2,2,8,1,15,8,12,9,7,3,11,4,7,14,12)
y2 <- c(100,105,84,105,90,99,90,95,94,100,79,112,91,80,85)

plot(x1, y1, main="Observation of Cars", xlab="Car age", ylab="Car speed", col="red", cex=2)
points(x2, y2, col="blue", cex=2)

结果:

亲自试一试 »

笔记:为了能够看到比较的差异,您必须为图指定不同的颜色(通过使用col范围)。红色的代表第一天的值,而蓝色的代表第 2 天。请注意,我们还添加了cex参数来增加点的大小。

观察结论:通过比较这两个图,我认为可以肯定地说它们都给了我们相同的结论:汽车越新,开得越快。