Rで平均の標準誤差を見つけるコマンドはありますか?
8 に答える
標準誤差は、標準偏差をサンプル サイズの平方根で割ったものです。したがって、独自の関数を簡単に作成できます。
> std <- function(x) sd(x)/sqrt(length(x))
> std(c(1,2,3,4))
[1] 0.6454972
標準誤差(SE)は、サンプリング分布の標準偏差にすぎません。サンプリング分布の分散は、データの分散をNで割ったものであり、SEはその平方根です。その理解から、SE計算で分散を使用する方が効率的であることがわかります。Rのsd
関数は、すでに1つの平方根を実行しています(のコードsd
はRにあり、「sd」と入力するだけで表示されます)。したがって、以下が最も効率的です。
se <- function(x) sqrt(var(x)/length(x))
関数をもう少し複雑にしvar
、渡すことができるすべてのオプションを処理するために、この変更を行うことができます。
se <- function(x, ...) sqrt(var(x, ...)/length(x))
この構文を使用するvar
と、欠落値の処理方法などを利用できます。var
名前付き引数として渡すことができるものはすべて、このse
呼び出しで使用できます。
厄介なNAを削除する上記のジョンの回答のバージョン:
stderr <- function(x, na.rm=FALSE) {
if (na.rm) x <- na.omit(x)
sqrt(var(x)/length(x))
}
sciplotパッケージには組み込み関数がありますse(x)
Pastec パッケージの関数 stat.desc を使用できます。
library(pastec)
stat.desc(x, BASIC =TRUE, NORMAL =TRUE)
ここから詳細を見つけることができます: https://www.rdocumentation.org/packages/pastecs/versions/1.3.21/topics/stat.desc