2列10列のデータフレームを作成しようとしています。最初の列には重み(コードではw)が含まれ、2列目にはエラー率(cv.errorで示されます)が格納されます。しかし、私はそこにNAだけのデータフレームを取得します。私は何が間違っているのか分かりません。ヘルプをいただければ幸いです。データフレーム内のNAsだけを取得していますか?
最初の列が "w"で、もう一方がcv.errorのデータフレームが必要です。続き
は、問題はおそらくあなたがデータフレームをインスタンス化する方法に関連している私のコード
l <- data.frame(matrix(NA, nrow = 10, ncol = 2))
k_fun <- function(combined_distance,n,j)
{
glm_fit <- glm(gcms$train$response ~ combined_distance ,family=binomial, data=gcms$train,control = list(maxit = 50))
cv.error = cv.glm(gcms$train, glm_fit,K=5)$delta[1]
l[j,1] = n
l[j,2] = cv.error
}
w = c(0.1,0.2,0.25,0.3,0.35,0.4,0.45,0.50,0.7,0.9)
for(j in 1:10)
{
combined_distance <- alkoloiddistance + (1 - alkoloiddistance^w[j]) * solventdistance
k_fun(combined_distance,w[j],j)
}
@ R -Fever "gcms、alkoloiddistance、および溶媒距離が何であるかを示すことができますか? ' l [j、1] << - n'と 'l [j、2] << - cv.error '。あなたは関数内のデータフレームを更新したいと思っていますが、実際には更新された関数内のローカルコピーだけなので、あなたのループを実行した後、rセッションのデータフレームはまったく変わりません" –
@R -Fever ...ありがとう私はあなたが言ったことを試して、それは私のコードを動作させる方法だけで動作しています。 –