2016-09-09 50 views
2

在Stata中,可以定義一個像global PETS cats dogs rabbits mice這樣的全局變量,它在某個名爲PETS的存儲桶中收集這些變量。然後人們可以使用它在在R中定義全局變量集合

reg happiness $PETS 

其有效運行reg happiness cats dogs rabbits mice。在R中有這樣的一個等價物,允許像m <- lm(happiness ~ PETS + other_variable)這樣的東西嗎?

回答

3

您可以使用此解決方法:

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

你應該學習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。

+0

是的,所有變量都在data.frame中。我想到的這種集合僅僅是爲了方便。想象一下,你想要使用_some_控件適應10-15個模型,但總是包含其他一組控件(基本規範的排序)。 – Durden