【发布时间】:2017-12-11 16:42:44
【问题描述】:
我有考试成绩数据。我想要在不同年份(3 行)的阅读中获得 3 种不同测试分数的 ggline 图。我希望在相同年份(4 行)的写作中叠加超过 4 个不同的测试分数。将所有 7 个都放在一个情节上令人困惑。 我可以对数据进行子集化,以便显示读取或写入,但我似乎无法将它们整齐地堆叠在一起。
年份、ID、考试、分数、类型
2010, 1, R1, 72.75, R
2010, 1, R2, 68.25, R
2010, 1, R3, 83.75, R
2010, 1, W1, 89.25, W
2010, 1, W2, 58.25, W
2010, 1, W3, 64.25, W
2010, 1, W4, 90.25, W
2011, 1, R1, 52.25, R
2011, 1, R2, 90.25, R
2011, 1, R3, 73.25, R
2011, 1, W1, 79.5, W
2011, 1, W2, 89.25, W
2011, 1, W3, 85.25, W
2011, 1, W4, 78.25, W
…
我有这段代码可以生成一张图,只需阅读:
ggplot(subset(df,skill %in% c("R1", "R2", "R3"))) +
geom_line(aes(year, score, group=skill, colour=skill))
我已经尝试这样做以获得两者,但这显然是不正确的:
p1 <- subset(df,skill %in% c("R1", "R2", "R3"))
p2 <- subset(df,skill %in% c("W1", "W2", "W3", "W4"))
ggplot()+ geom_line(data=p1, aes(year, score, group=skill, colour=skill)) +
geom_line(data=p2, aes(year, score, group=skill, colour=skill)) +
facet_grid(~type)
任何帮助将不胜感激
【问题讨论】:
-
您的示例数据有一个列
test,但您的代码引用的列skill不在您的示例数据中。请使用dput(df))并将输出复制到您的问题中,以便人们更轻松地处理您拥有的数据。见stackoverflow.com/questions/5963269/… -
尝试更改您的绘图代码以在单个
geom_line层加上各个方面使用整个数据集 ("df"),而不是每个子集有一个单独的geom_line层。