ブート機能を使用して統計情報に引数を渡す際に問題が発生しています。ここでは一例です:evalの中ブートパッケージで加重回帰(lm)を使用しているときの問題R
rm(list=ls())
library(faraway)
library(boot)
data(strongx)
g3 <- lm(crossx ~ energy, strongx, weights=rep(1, nrow(strongx)))
bootReg <- function(formulatostat, data, ind, weitostat) {
weig <- weitostat[ind]
fit <- lm(formula=formulatostat, data = data[ind, ], weights = weig)
return(coef(fit))
}
wei <- rep(1, nrow(strongx))
bootResults <-
boot(
data = strongx,
statistic = bootReg,
R = 2000,
formulatostat = crossx ~ energy,
weitostat = wei)
エラー(exprの、ENVIR、enclos):オブジェクトのweigは、「もちろん
を見つけていない、私の重みは1であり、その加重部分が不要です。しかし、実際の重量を使用している間も問題は残ります。これは私が別のデータを持っている問題の実証です。ブート機能は次のように述べています。 "それ以上の引数は、引数を介して統計に渡すことができます。" FormRatostatはbootRegに渡されていますが、重みビットは渡されていません。ウェイトなしで比較する:
bootReg <- function(formulatostat, data, ind) {
fit <- lm(formula=formulatostat, data = data[ind, ])
return(coef(fit))
}
wei <- rep(1, nrow(strongx))
bootResults <-
boot(
data = strongx,
statistic = bootReg,
R = 2000,
formulatostat = crossx ~ energy)
これは機能します。体重をどのように組み込むべきかアドバイスをいただければ幸いです。
これは、このサイトのトピックオフになっています。 –
crossvalidatedへようこそ。ブート・マニュアルを参照してください: "渡された最初の引数は常に元のデータです.2番目の引数は、ブートストラップ・サンプルを定義するインデックス、頻度、またはウェイトのベクトルになります。 >>関数の "data"と "ind"引数を1位と2位に切り替えてみてください。 btw:これは質問をデバッグするための適切なフォーラムではありません(統計的な問題ですので、このqはまもなく削除されると思います)+実行中のコード(サンプルデータを含む)を提供すれば、将来的に良い答えを得るチャンスを増やすことができます。歓声 – mzunhammer
お詫び申し上げます。私はstats.stackexchangeに投稿しました。これはどのように話題ですか?私の無知に申し訳ありませんが、これは私が初めてここに投稿したものです。 –