我是来自Jester项目的笑话数据集 2 ( jester_dataset_2.zip )的数据集,我想将笑话分成具有相似评级的笑话组,并适当地可视化结果。
数据看起来像这样
> str(tabulka)
'data.frame': 1761439 obs. of 3 variables:
$ User : int 1 1 1 1 1 1 1 1 1 1 ...
$ Joke : int 5 7 8 13 15 16 17 18 19 20 ...
$ Rating: num 0.219 -9.281 -9.281 -6.781 0.875 ...
这是Dataset 2的一个子集。
> head(tabulka)
User Joke Rating
1 1 5 0.219
2 1 7 -9.281
3 1 8 -9.281
4 1 13 -6.781
5 1 15 0.875
6 1 16 -9.656
我发现我不能使用方差分析,因为同质性不一样。因此,我使用 R 中 agricolae 包中的 Kruskal–Wallis 方法。
KWtest <- with ( tabulka , kruskal ( Rating , Joke ))
这里是组。
> head(KWtest$groups)
trt means M
1 53 1085099 a
2 105 1083264 a
3 89 1077435 ab
4 129 1072706 b
5 35 1070016 bc
6 32 1062102 c
问题是我不知道如何适当地可视化笑话组。我正在使用箱线图来显示每个笑话的置信区间。
barvy <- c ("yellow", "grey")
boxplot (Rating ~ Joke, data = tabulka,
col = barvy,
xlab = "Joke",
ylab = "Rating",
ylim=c(-7,7))
根据 KW 测试给出的颜色,以某种方式为每个盒子(每个笑话)涂上适当的颜色会很好。
我怎么能那样做?或者有没有更好的方法在数据集中找到最好和最差的笑话?