2016-04-24 16 views
0

を作成し、私はRにデータフレームdf次があります。累積確率密度関数

 time 
[1] 0.432 
[2] 0.451 
[3] 0.399 
[4] 0.422 
... 
[25] 0.444 

を今、私はこのデータフレームに列を追加したい要素がで計算されているの(のはそれtimepを呼びましょう)以下の式:の行のカラムtimeの項目よりも小さいか等しくなるカラムtimeの要素数:カラムtimepの行iの項目はに等しくなければならない

iをデータフレームの行数で割ったものです。擬似コードで

df$timep[i] <- count(df$time <= df$time[i])/length(df)

をのみ、私は本当に私が正しくR.

答えて

3

Rでこれを表現することができますどのように内蔵された経験累積分布関数ecdfをしているのか分かりません。

のは、あなたがデータフレームdfを持っているとしましょう:

df <- data.frame(time = c(0.432, 0.451, 0.399, 0.422, 0.444)) 

あなたがして経験累積分布関数を作成することができます。

P <- ecdf(df$time) 

あなたはPに値を渡した場合、それが累積probabiltyを返します。その値の場合:

df$cdf <- P(df$time) 

Out:

time cdf 
1 0.432 0.6 
2 0.451 1.0 
3 0.399 0.2 
4 0.422 0.4 
5 0.444 0.8 
+0

非常に良い!正確に私が探しているもの。 – JNevens

関連する問題