我首先使用grep
來獲取以前言開頭的所有變量名稱:「h_」。然後我將該數組摺疊成一個單獨的字符串,並用加號分隔。有沒有辦法在線性迴歸中隨後使用此字符串?R:在迴歸中使用包含變量名稱的字符串
例如:
holiday_array <- grep("h_", names(df), value=TRUE)
holiday_string = paste(holiday_array, collapse=' + ')
r_3 <- lm(log(assaults) ~ year + month + holiday_string, data = df)
我得到了簡單的錯誤variable lengths differ (found for 'holiday_string')
我能做到這樣的,例如:
holiday_formula <- as.formula(paste('log(assaults) ~ attend_v + year+ month + ', paste("", holiday_vars, collapse='+')))
r_3 <- lm(holiday_formula, data = df)
但我不希望有爲每組新控件鍵入一個單獨的公式構造。我希望能夠在lm函數中添加「字符串」。這可能嗎?
以上是有問題的,因爲我們說,我想再加入另一組控制變量包含在holiday_formula
式的,所以這樣的事情:
weather_vars < - grep的(「W_」,名稱(DF),值= TRUE)weather_formula < - as.formula(粘貼(holiday_formula,粘貼( 「+」,weather_vars, 崩潰= '+')))
不知道你會怎麼做以上。
http://stackoverflow.com/questions/6065826/how對一個變量序列的迴歸 - 沒有鍵入每個變量nam?rq = 1 – atiretoo
我看到了,但我不想構造一個新的「 as.formula()「呼籲每一次迴歸。我希望能夠像上面試過的那樣使用holiday_string來明確每個迴歸與前一個迴歸是如何不同的。有沒有辦法做到這一點。例如,我想要做一些類似'year + month + as.formula(holiday_string)'的事情,但我不能。 – Parseltongue
開箱即用,我不這麼認爲。 holiday_string是一個字符串,並且log(攻擊)〜year + month是一個公式。我想你可以重載'+'函數,以便識別一側的字符串和另一側的公式,並將它們與as.formula(paste(...))粘在一起。 – atiretoo