0

以前の質問で、ヒストグラムの上に頻度ポリゴンを重ねる方法を尋ねました。その問題は解決しました。私は今別の問題を抱えています。頻度ポリゴンのクラス マークを各ヒストグラム バーの中央に配置したいと考えています。クラス マークは、クラスのちょうど中間にある値であり、ヒストグラム バー (別名「クラス」) の上限と下限の境界を平均することによって検出されます。頻度ポリゴンを描画する場合は、各ヒストグラム クラス (またはバー) の中央にドットを描画し、ドットを接続します。ただし、次のコードを実行すると、頻度ポリゴンが「広がって」おり、ヒストグラムと同じ軸の値がありません。

# declare your variable
data <- c(10, 7, 8, 4, 5, 6, 6, 9, 5, 6, 3, 8,
+ 4, 6, 10, 5, 9, 7, 6, 2, 6, 5, 4, 8, 7, 5, 6)

# find the range
range(data)

# establish a class width
class_width = seq(1, 11, by=2)
class_width

# create a frequency table
data.cut = cut(data, class_width, right=FALSE)
data.freq = table(data.cut)
cbind(data.freq)

# histogram of this data
hist(data, axes=TRUE,
breaks=class_width, col="slategray3",
border = "dodgerblue4", right=FALSE, 
xlab = "Scores", xaxp=c(1, 11, 10), 
yaxp=c(0, 12, 12), main = "Histogram and Frequency Polygon")

# paint the frequency polygon over the histogram
par(new=TRUE)

# create a frequency polygon for the data
plot(data.freq, axes=FALSE, type="b", ann=FALSE)

RGui が生成するイメージを次に示します。MS Paint を使用して赤い線を描画し、R を実行しようとしていることを示しています。2 つのプロットの y 軸の値は同じに見えます。2 つのプロットが同じ x 軸の値を共有するようにするにはどうすればよいですか? ありがとう!

ヒストグラム、MS Paint で編集

4

1 に答える 1