2017-02-04 5 views
0

私は[0,1]の間隔を作成します、私は多くのアンダーインターバルで私のインターバルを分割します、私はいくつかのランダム変数を入れ、私はインターバルの下でどのように多くの変数を持つすべてのインターバルで比較する必要があります、ベクトル変数、ベクトルの大きさは、私のunder_intervalsの数は、最終的には、私の結果は下-間隔ごとに変数の和が含まれています。このベクトルです:Rのすべてのintevalsの確率変数の数を計算するには?

Q<- runif(120, min=0, max=1) 
y<-sort(Q) 
x<-seq(0,1, by=1/1200) 

for(j in 1:length(x)-1){ 
    for(i in 1:length(y)){ 
somme[j]= ifelse(y[i] >= x[j] & y[i]<= x[j+1],1,0) 
    } 
} 

私はRと初心者です、だから私は待っている最高の解決策を見つけることができません。

私を助けることができれば非常に感謝します。

答えて

1

cut関数は、数値ベクトルをグループに分割するように設計されています。 dplyrを使用して合計を集計することができます。

library(dplyr) 
Q <- runif(120, min=0, max=1) 
intervals <- data.frame(interval = cut(Q, breaks = seq(0, 1, 1/1200)), Q) %>% 
    group_by(interval) %>% 
    summarize(sum = sum(Q)) 

あなたが同様にあなたがそれらの区間分割のリストを作成し、sapplyで合計を実行するためにsplitを使用することができます0秒を維持したい場合。

sapply(split(Q, f = cut(Q, breaks = seq(0, 1, 1/1200))), sum) 
関連する問題