R:如何使用bwplot()可视化数据

时间:2014-12-17 06:30:50

标签: r visualization

    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),但我得到了这个。

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为你的意思是

dd$score <- as.numeric(as.character(dd$score))
bwplot(score~year, dd, horiz=FALSE)

(这假设year是您的样本数据中的一个因素。如果它是数字,请使用factor(year)

请注意,大多数莱迪思函数都希望将公式作为第一个参数,而不是简单的向量;并且通常在格子中使用groups=表示不同的颜色,而在公式中提供因子变量会触发分类行为。

enter image description here