在 R 中定义变量的全局集合

Defining global collection of variables in R

在 Stata 中,可以定义一个像 global PETS cats dogs rabbits mice 这样的全局变量,它将这些变量收集在一些名为 PETS 的桶中。然后可以在

中使用它
reg happiness $PETS

有效运行 reg happiness cats dogs rabbits mice。在 R 中是否有一个等价物允许类似 m <- lm(happiness ~ PETS + other_variable)?

您可以使用此解决方法:

PETS <- c("dogs", "rabbits", "mice")
m <- lm( as.formula( paste( "happiness ~ other_variable +", paste(PETS, collapse=" + ") ) ) )

你应该学习help("formula")。我假设您的变量在 data.frame 中。如果他们不是,那么,他们应该是。

使用内置 iris 数据集的可重现示例:

predictors <- c("Sepal.Width", "Petal.Length")

fit <- lm(Sepal.Length ~ ., data = iris[, c("Sepal.Length", predictors)])
summary(fit)

如您所见,我使用 DV ~ . 对所有变量进行回归,并将传递给 lm 的 data.frame 子集化为感兴趣的列。