通过按行分组的R beeswarm情节?

时间:2015-03-30 11:48:55

标签: r plot

我正在使用R beeswarm库来绘制我的数据。

当我直接绘制我的数据框时,它通过将列作为单独的类处理并相应地绘制它们来做好图。

然而,当我尝试绘制相同数据帧的转置时,出于某种原因,它会在绘制数据帧之前展平我的数据帧并绘制所有聚合的类。

这是正常行为还是错误?

有没有办法强制使用行而不是列作为要分组的类?

修改: 数据是一个94 x 40的数据帧,其中几乎是随机数,这些命令是:

beeswarm(mydata, cex=0.4)

beeswarm(t(mydata), cex=0.4)

以及结果图: column-wise row-wise

1 个答案:

答案 0 :(得分:1)

可能这个问题是由于您的转置数据属于类矩阵

示例数据

dd<-data.frame(a=c(1,2,3,3,4,4,4,5,5,5,5,6,6,7,9), b=c(3,3,4,4,4,5,5,5,5,5,6,6,6,7,9), c=c(5,5,5,6,6,6,7,7,7,7,8,9,11,11,12))

这为每列提供了一个很好的情节

beeswarm(dd, pch = 16, col = rainbow(8))

现在数据被转置并且是类矩阵。一个beeswarm将完全占据所有列,就好像它是一列

ndd<-t(dd)

beeswarm(ndd, pch = 16, col = rainbow(8))

但如果转置数据转换为data.frame,则会分别显示所有列:

df<-data.frame(t(dd))
colnames(df)<-c(letters[1:15])
beeswarm(df, pch = 16, col = rainbow(8))

enter image description here