我正在使用R beeswarm库来绘制我的数据。
当我直接绘制我的数据框时,它通过将列作为单独的类处理并相应地绘制它们来做好图。
然而,当我尝试绘制相同数据帧的转置时,出于某种原因,它会在绘制数据帧之前展平我的数据帧并绘制所有聚合的类。
这是正常行为还是错误?
有没有办法强制使用行而不是列作为要分组的类?
修改: 数据是一个94 x 40的数据帧,其中几乎是随机数,这些命令是:
beeswarm(mydata, cex=0.4)
beeswarm(t(mydata), cex=0.4)
以及结果图:
答案 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))