data.frameのデータ操作に関する質問があります。各行の要素に関数を適用して要約する
本質的に、私は大規模なデータセットを持っている - 以下の略記バージョン:私は
は同様に、私がしたいパラメータとしてベータ分布とαおよびβを用いて、確率を生成するrbetaを使用する
structure(list(nm_mean = c(194213914.326, 194213914.326, 194213914.326,
194213914.326, 194213914.326, 217947112.739), nm_se = c(9984735.05918367,
9984735.05918367, 9984735.05918367, 9984735.05918367, 9984735.05918367,
11010386.0760204), alpha = c(193.197697846336, 214.592588477741,
240.246557258741, 258.116959355425, 282.560024775668, 306.610038660465
), beta = c(61526.2664158025, 57950.9563448233, 56085.1512614369,
52919.4794239927, 51483.4591654126, 50405.8186695088)), .Names = c("nm_mean",
"nm_se", "alpha", "beta"), row.names = c(NA, 6L), class = "data.frame")
nmnとnm_seを平均とsdとする正規分布を使用して乱数を生成するには、rnormを使用します。
Iは、行本質的に1
x <- rbeta(1000,193.1977,61526.27)
y <- rnorm(1000,194213914,9984735)
z <- x*y
dat$ce <- quantile(z,0.5)
dat$ll <- quantile(z,0.25)
dat$ul <- quantile(z,0.975)
ための例として
だからバックデータフレームにrnorm値によって生成rbeta値を乗算し、第50、第25及び第75分位数を抽出します私は、lbetaとrnormの積のためにce、llとulをデータベースに追加します。
SOで '[r] data frame apply rows'を検索すると、多くの良い答えが得られます。 TL DR: 'apply'の使用は、data.frameを数値を文字に変換する'配列 '(' matrix')に変換するので問題になります。ベクトル化された計算、ループ、 'plyr'、' dplyr'はあなたの友達です。 – r2evans
'quantile'は確率のベクトルをとることができます。 – shayaa