ランダムなベクトルを指定して各ビンの合計を求めようとしていますが、コードはベクトルの最初の要素を100として返すだけです。ベクトルの各要素をどのように循環させるでしょうかx
の場合、それがビンの範囲であることを確認してj
とし、各ビンの合計を返しますか?ビン内の範囲を計算する
私はR
でこれを行う関数があることを認識していますが、この具体的な例をハードコーディングしています。
# Sample data
set.seed(1234)
x <- rnorm(100)
S <- range(x)
a <- range(x)[1]
b <- range(x)[2]
J <- 5 #bins
h <- (b - a)/J #interval
for (j in 1:J){
for (n in 1:length(x)){
ifelse(x[n] > a + (j-1)*h & (x[n] <= a + j*h), n[j] <- n[j] + 1, n[j] <- n[j] + 0)
}
}
出力:
> n
[1] 100 NA NA NA NA
所望の出力:
> n
[1] 7 43 29 13 8
@ ZheyuanLi私は密度推定器をハードコーディングしています。これはヒストグラム推定器での試みです。私が言及したように、これを行うより簡単な方法があることを認識しましたが、私はその方法を学ぶ試みにおいて、より困難な方法をとっています。 – Vedda
'if'は同じ出力を提供します。私はこれを最初に試してみました: 'if(x [n]> a +(j-1)* h&(x [n] <= a + j * h)} {n [j] < - n [j] + 1 } ' – Vedda
@ ZheyuanLiうん、そうだった。あなたの答えを変えて、私はそれをマークします...ありがとう! – Vedda