2

私は統計学の学生であり、R の初心者 (今年の控えめな表現) であり、割り当ての一部としてランダムに生成された正規分布のサンプルに対して複数の信頼区間を生成しようとしています。

機能を使いました

data <- replicate(25, rnorm(20, 50, 6))

N(50, 6^2) 分布 (二重行列) からサイズ n=20 の 25 個のサンプルを生成します。

私の質問は、この分布の各サンプルの 95% 信頼区間を見つけるにはどうすればよいですか? colMeans(data) と sd(data) を使用して、各サンプルのサンプル平均とサンプル標準偏差を見つけることができることは知っていますが、すべての列の信頼区間を生成できる関数を考えようとして頭がおかしくなっていますdouble マトリックス (データ) で。

今のところ、私の(非常に粗い)ソリューションは、関数を作成することで構成されています

left <- function (x,y){x-(qnorm(0.975)*y/sqrt(20))}
right <- function (x,y){x+(qnorm(0.975)*y/sqrt(20))}

left(colMeans(data), sd(data)
right(colMeans(data), sd(data)

左境界と右境界の 2 つのベクトルを生成します。これを行うためのより良い方法があれば教えてください。

4

1 に答える 1

3

機能を使用できると思いますt.test()。指定された数値ベクトルの平均と 95% 信頼区間を返します。

# Create your data
data <- replicate(25, rnorm(20, 50, 6))
data <- as.data.frame(data)

データを作成したら、t.test()関数を使用してすべての列に関数を適用できますlapply()

# Apply the t.test function and save the results
results <- lapply(data, t.test)

返された信頼区間または平均のみを確認したい場合は、ドル記号演算子を使用してそれらを呼び出すことができます。たとえば、元のデータ フレームの列 1 の場合、次のように入力できます。

# Check 95% CI for sample one
results[[1]]$conf.int[1:2]

これらのデータを結果データ フレームに保存する、より説得力のある方法を考え出すことができます。コマンドを使用して、オブジェクトからヤンクできる個々の情報をいつでも確認できることを忘れないでくださいstr()。例えば:

# Example
example <- t.test(data[,1])
str(example)

お役に立てれば。詳細については、このリンクを試してください: Using R to find Confidence Intervals

于 2012-05-04T18:24:40.380 に答える