将分类变量绘制为另一个分类变量

时间:2012-01-30 11:17:54

标签: r plot

我正在比较不同的聚类方法,我想看看两种不同的方法(或参数集)是否定义了类似的聚类。我的集群被定义为数据框中的分类因子(分类变量)。

如果我使用plot() x 作为分类变量且 y 是连续变量,我会得到框图。如果我做同样但 y 是另一个分类变量,我会得到一些奇怪的条形图(如下图所示)。你怎么解释这个情节之王?

plot you get when plotting a categorical variable against another categorical variable

在此图中, x (df $ category1)有13个级别:

[1] "A" "B" "C" "D" "cluster1" "cluster5" [7] "cluster2" "cluster8" "cluster0" "cluster6" "cluster4" "cluster3" [13] "cluster7"

y (df $ category2)只有12个级别:

[1] "A" "B" "C" "D" "cluster5" "cluster0" [7] "cluster4" "cluster2" "cluster3" "cluster6" "cluster1" "cluster7"

A,B,C和D在两列之间是相同的,其余如果簇不一定与不同聚类运行的结果相同。

修改:使用的代码为plot(df$category1, df$category2)

2 个答案:

答案 0 :(得分:4)

xy都是因素时,plot会调用spineplot。该函数帮助页面的示例:

treatment <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),
    labels = c("placebo", "treated"))
improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
    levels = c(1, 2, 3),
    labels = c("none", "some", "marked"))

spineplot(improved, treatment)

虽然这看起来与你的情节略有不同。

答案 1 :(得分:3)

不是你问的问题,而是尝试使用mosaicplot()。它将生成一个适合两个分类变量的图形。