数据集有252个观察值和18个变量。我需要每个第十次观察的测试样本和剩余数据的训练样本,所以我创建了两个单独的数据集:
id <- seq(1, nrow(fat), by=10)
test <- fat[id,]
train <-fat[id,]
我可以使用除brozek
和density
之外的所有预测变量进行线性回归:
model2 <- lm(siri ~ .-brozek -density, train)
我需要做一个主成分回归模型
fatpca<-prcomp(fat[-id,]
但仍然包含变量brozek
和density
。
如何排除这些变量以进行PCR模型?
答案 0 :(得分:0)
要删除几个变量,您可以选择几个:
trainsub <- subset(train,select=-c(brozek,density))
或
trainsub <- train[!colnames(train) %in% c("brozek","density"))
或
trainsub <- dplyr::select(train,-c(brozek,density))
您还可以使用公式接口prcomp
,即
prcomp(~ . -brozek - density, data=train)