値の表(たとえば0から100の間)と添付のプロットが与えられた場合、Rを使用して値20から60(画像の赤いボックス)の間にあるデータポイントの数を計算する最も簡単な方法は何でしょうか?
そして、Rのプロット関数を使用してその赤いボックスを作成する方法はありますか(私は画像エディタを使用して作成しました...)?
助けてくれてありがとう。
値の表(たとえば0から100の間)と添付のプロットが与えられた場合、Rを使用して値20から60(画像の赤いボックス)の間にあるデータポイントの数を計算する最も簡単な方法は何でしょうか?
そして、Rのプロット関数を使用してその赤いボックスを作成する方法はありますか(私は画像エディタを使用して作成しました...)?
助けてくれてありがとう。
間隔内に含まれる確率質量を計算するには:
x <- rnorm(1e6) ## data forming your empirical distribution
ll <- -1.96 ## lower bound of interval of interest
ul <- 1.96 ## upper bound of interval of interest
sum(x > ll & x < ul)/length(x)
# [1] 0.949735
次に、ヒストグラムと赤いボックスをプロットします。
h <- hist(x, breaks=100, plot=FALSE) # Calculate but don't plot histogram
maxct <- max(h$counts) # Extract height of the tallest bar
## Or, if you want the height of the tallest bar within the interval
# start <- findInterval(ll, h$breaks)
# end <- findInterval(ul, h$breaks)
# maxct <- max(h$counts[start:end])
plot(h, ylim=c(0, 1.05*maxct), col="blue") # Plot, leaving a bit of space up top
rect(xleft = ll, ybottom = -0.02*maxct, # Add box extending a bit above
xright = ul, ytop = 1.02*maxct, # and a bit below the bars
border = "red", lwd = 2)
set.seed(42)
x <- rlnorm(5000) #some data
hist(x) #histogram
rect(7,-50,10,100,border="red") #red rectangle
table(cut(x,breaks=c(0,7,10,Inf)))/length(x) #fraction of values in intervals
#(0,7] (7,10] (10,Inf]
#0.9754 0.0136 0.0110
Cut
値が属する間隔に従って値を分類します。table
次に、カウントのテーブルを作成します。これを合計カウントで割ることができますlength(x)
。