14

こんにちは私はRを使用してヒストグラムを作成していますが、Y軸の数が多すぎるため、対数に変換する必要があります。以下のスクリプトを参照してください。

hplot<-read.table("libl")
hplot
pdf("first_end")
hist(hplot$V1, breaks=24, xlim=c(0,250000000), ylim=c(0,2000000),main="first end mapping", xlab="Coordinates")
dev.off()

では、スクリプトをどのように変更すればよいですか?どうも

4

4 に答える 4

24

ヒストグラム データを保存して、プロットする前に微調整できます。

set.seed(12345)
x = rnorm(1000)

hist.data = hist(x, plot=F)
hist.data$counts = log10(hist.data$counts)

dev.new(width=4, height=4)
hist(x)

dev.new(width=4, height=4)
plot(hist.data, ylab='log10(Frequency)')

ここに画像の説明を入力

ここに画像の説明を入力

于 2011-10-19T22:08:28.220 に答える
4

別のオプションは、を使用することplot(density(hplot$V1), log="y")です。

これはヒストグラムではありませんが、ほぼ同じ情報を示しており、カウントがゼロのビンが対数空間で明確に定義されていない非論理的な部分を回避しています。

もちろん、これはデータが連続的である場合にのみ関連し、それが実際にカテゴリまたは序数である場合には関連しません。

于 2015-11-26T14:29:51.370 に答える
3

対数スケールの y 軸を持つヒストグラムは、かなり奇妙なヒストグラムになります。技術的には定義に適合しますが、かなり誤解を招くように見える可能性があります。ピークは、分布の残りの部分と比較して平坦化されます。

ログ変換を使用する代わりに、次のことを検討しましたか?

  • カウントを 100 万で割ると、次のようになります。

    h <- hist(hplot$V1, plot=FALSE)

    h$counts <- h$counts/1e6

    plot(h)

  • ヒストグラムを密度推定としてプロットする:

    hist(hplot$V1, freq=FALSE)

于 2011-10-20T00:46:41.410 に答える