我正在试图制作一个有两列10行的数据帧,其中第一列包含权重(在代码中用w表示),第二列包含错误率(用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和solventdistance是? 你可能需要'l [j,1] << - n'和'l [j,2] << - cv.error '你希望更新函数中的数据帧,但实际上它只是其更新函数内的本地副本,所以在运行循环之后,你的r会话中的数据帧完全不变。“ –
@R -Fever ...谢谢我尝试了你所说的,它的工作方式就是我想要我的代码工作的方式。 –