省略数据中的列

时间:2012-11-19 19:28:23

标签: r linear-regression lm

数据集有252个观察值和18个变量。我需要每个第十次观察的测试样本和剩余数据的训练样本,所以我创建了两个单独的数据集:

id <- seq(1, nrow(fat), by=10)
test  <- fat[id,]
train <-fat[id,]

我可以使用除brozekdensity之外的所有预测变量进行线性回归:

model2 <- lm(siri ~ .-brozek -density, train)

我需要做一个主成分回归模型

fatpca<-prcomp(fat[-id,]

但仍然包含变量brozekdensity

如何排除这些变量以进行PCR模型?

1 个答案:

答案 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)