2

vioplot を使用して、比較したい 2 つの異なるグループからいくつかの列のプロットを生成しようとしています。

for (i in 19:length(data) ) {
    # violin plot
    vioplot(data[[1]][[i]], data[[2]][[i]], col="grey", names=names(data),     colMed="Green")
    # Calculate means
    means <- tapply(data[[i]], data[["category"]], mean)
    # Plot mean points.
    points(means, col="red", pch=16)
    # legend for median and mean in topright corner of plot.
    legend('topright', c("median","mean"), pch=16, col=c("green","red"))
}

ただし、次のエラーが表示されます。

Error in cut.default(x, breaks = breaks) : 'breaks' are not unique
Calls: vioplot ... sm.density -> binning -> binning.1d -> cut -> cut.default

ここで説明されているように、一部のデータ列で分位点が等しいことに関係があると思います: Cut() エラー - 'breaks' は一意ではありません

vioplot にこれらのケースを無視させるか、とにかくプロットを強制する方法はありますか?

ありがとう!

4

0 に答える 0