【发布时间】:2018-10-06 00:36:34
【问题描述】:
假设我有一个包含 101 个变量的数据框。我选择一个所谓的 Y 作为因变量,其余 100 个所谓的 x_1, X_2,...,X_{100} 作为独立变量。
现在我想创建一个包含 100 个自变量的矩阵。有什么方法可以直接实现?就像我制作线性回归模型时一样,只需使用“。”作为正则表达式,即lm(Y ~ ., _____)
【问题讨论】:
-
只需从原始
data.frame中删除 Y 变量列。像df[, -idx_of_Y]这样的东西。如有必要,使用as.matrix转换为matrix。 -
或者使用
grep如df[, grep(pattern, names(df)]来匹配基于pattern的列名。 -
as.matrix(df[ , -which(names(df)=="Y")]) -
非常感谢!使用“-”似乎是最直接的方式。当我想从 df 中排除超过 1 个变量时,它是否也有效?