在 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 子集化为感兴趣的列。
在 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 子集化为感兴趣的列。