library(lattice)
dd = data.frame(person = c("A", "A", "A",
"B", "B", "B",
"C", "C", "C"),
score = c("100", "50", "90",
"20", "40", "60",
"10", "50", "30"),
year = c("2001", "2002", "2003",
"2001", "2002", "2003",
"2001", "2002", "2003"))
>dd
person score year
1 A 100 2001
2 A 50 2002
3 A 90 2003
4 B 20 2001
5 B 40 2002
6 B 60 2003
7 C 10 2001
8 C 50 2002
9 C 30 2003
我很想知道这些年来人们分数的分布是如何变化的。我想用箱形图来显示这些信息。我想使用bwplot()
库中的lattice
。我在查看和编码方面遇到了麻烦......所以我知道我希望得分在1轴上。在另一个轴上,我想要一年。因此,对于每一年,我想要绘制A,B和C人的分数。所以总的来说我想要有3个箱图,一个是2001年的分数,一个是2002年的分数,一个是分数。但是,我试过了
bwplot(dd$score, groups = dd$year)
但这没有成功。
编辑:我试过了bwplot(score ~ year, dd, horiz = F)
,但我得到了这个。
答案 0 :(得分:2)
我认为你的意思是
dd$score <- as.numeric(as.character(dd$score))
bwplot(score~year, dd, horiz=FALSE)
(这假设year
是您的样本数据中的一个因素。如果它是数字,请使用factor(year)
)
请注意,大多数莱迪思函数都希望将公式作为第一个参数,而不是简单的向量;并且通常在格子中使用groups=
表示不同的颜色,而在公式中提供因子变量会触发分类行为。