xj[i]中出错:下标类型无效';列表';在R

xj[i]中出错:下标类型无效';列表';在R,r,R,我正在使用糖尿病数据集。我正在尝试拟合从培训集中的上一次任务中获得的“最佳”模型,并报告此模型的测试错误。代码如下 library(nclSLR) library(leaps) library(glmnet) data(diabetes) set.seed(1) (n = nrow(diabetes)) (p = ncol(diabetes) - 1) train = diabetes [1:350,] test = diabetes [351:442,] grid=10^seq(10,-2

我正在使用糖尿病数据集。我正在尝试拟合从培训集中的上一次任务中获得的“最佳”模型,并报告此模型的测试错误。代码如下

library(nclSLR)
library(leaps)
library(glmnet)
data(diabetes)
set.seed(1)
(n = nrow(diabetes))
(p = ncol(diabetes) - 1)

train = diabetes [1:350,]
test = diabetes [351:442,]

grid=10^seq(10,-2,length=100)


best.subset=c("sex", "bmi", "map", "tc", "ldl", "ltg")

diabetes = diabetes[,best.subset]


#Train lm model
lm.mod=lm(sex~., diabetes[train,])
我在最后一行出错了。它表明

Error in xj[i] : invalid subscript type 'list'. 

我已尝试取消列表(),但仍不起作用。

问题是我们使用了
I
即行索引作为数据帧。这里,我们需要已经创建的data.frame的子集,即“train”

lm.mod=lm(sex~., train)

train
是一个
data.frame
,您使用它作为
data.frame
子集的索引。相反,您可能需要
diabetes[1:350,]
或只需要
train
而不是
diabetes[train,]
@akrun train而不是diabetes[train,]工作。谢谢