2014-09-01 61 views
-5

我目前有兩個數據表,其中一個包含獨立和控制變量的列,而另一個包含因變量的行。多個線性模型

任何人都可以幫助創建一個方法,從兩個表中重複執行依賴值表中的每一行的線性模型?

+0

你有什麼企圖?如何張貼一些示例數據? [這是](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)一個好地方開始。 – nrussell 2014-09-01 20:50:06

+2

請提供一個[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)以及樣本輸入和期望的輸出。你目前的描述很模糊。一個具體的例子會有很大幫助。 – MrFlick 2014-09-01 20:50:07

回答

2

您還沒有提供,也沒有重複的例子,也不期望的輸出,所以我不得不猜測

如果這是你的列名向量

vec <- LETTERS[1:3] 

這是你的數據集

set.seed(1) 
df <- data.frame(A = sample(10, 10), 
       B = sample(20, 10), 
       C = sample(30, 10)) 

那麼你可以嘗試這樣

lapply(vec, 
     function(x) lm(as.formula(paste(x, "~", 
             paste(setdiff(names(df), x), 
                collapse = "+"))), 
         data = df)) 

這將給

# [[1]] 
# 
# Call: 
# lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#              x), collapse = "+"))), data = df) 
# 
# Coefficients: 
# (Intercept)   B   C 
# 4.9687  0.2410  -0.1565 
# 
# 
# [[2]] 
# 
# Call: 
# lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#              x), collapse = "+"))), data = df) 
# 
# Coefficients: 
# (Intercept)   A   C 
# 2.7975  0.8182  0.2775 
# 
# 
# [[3]] 
# 
# Call: 
# lm(formula = as.formula(paste(x, "~", paste(setdiff(names(df), 
#              x), collapse = "+"))), data = df) 
# 
# Coefficients: 
# (Intercept)   A   B 
# 13.200  -1.675  0.875 
+0

也檢查'reconulate'。 – 2014-09-01 21:59:35