首页 > 解决方案 > 如何将第二个数据集添加到 R 中的点图?

问题描述

我刚刚开始在统计学课程中学习 R 并开始学习不同的情节。

一个练习要求我们将两组数据绘制成一个点图,但我正在努力将第二组数据添加到其中。我正在使用 dotplot() 函数,两个数据组是向量(我认为)。

我还不完全确定术语,所以请多多包涵。

smokers <- c(69.3, 56.0, 22.1, 47.6, 53.2, 48.1, 52.7, 34.4, 60.2, 43.8, 23.2, 13.8)
nonsmokers <- c(28.6, 25.1, 26.4, 34.9, 29.8, 28.4, 38.5, 30.2, 30.6, 31.8, 41.6, 21.1, 36.0, 37.9, 13.9)

dotplot(smokers, col = "blue", pch = 19)

points(nonsmokers, col = "red", pch = 18)

结果是吸烟者数据的点图,但未将非吸烟者的红点添加到图中。

如何将点添加到情节中,或者有更好的方法吗?

PS。根据问题,两组必须在同一条线上。

编辑 1:这是格子包。我将它加载到另一个脚本上并忘记了。

标签: rplotchartsdot

解决方案


一种方法是组合数据并使用公式作为dotplot().

smokers <- c(69.3, 56.0, 22.1, 47.6, 53.2, 48.1, 52.7, 34.4, 60.2, 43.8, 23.2, 13.8)
nonsmokers <- c(28.6, 25.1, 26.4, 34.9, 29.8, 28.4, 38.5, 30.2, 30.6, 31.8, 41.6, 21.1, 36.0, 37.9, 13.9)
library(lattice)
df1 <- data.frame(value=smokers)
df1$group <- "smokers"
df2 <- data.frame(value=nonsmokers)
df2$group = "nonsmokers"
data <- rbind(df1,df2)
dotplot(value ~ group, data = data)

...和输出:

在此处输入图像描述

要使用 group 按颜色区分组,我们使用以下形式dotplot().

aKey <- simpleKey(c("smokers","nonsmokers"))
dotplot(data$value,groups = data$group,key = aKey)

...和输出:

在此处输入图像描述


推荐阅读