作者REIDO (NEET)
看板R_Language
標題[問題] 迴圈中回歸output的變數名稱不想用迴圈變數
時間Tue Jun 27 08:41:44 2017
[軟體熟悉度]:
請把以下不需要的部份刪除
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
for(j in c(3,15,30)){
temp=summary(lm(d1[,31]~d1[,j]))
print(temp)
}
執行後的結果節錄如下:
Call:
lm(formula = d1[, 31] ~ d1
[, j])
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.4379 0.1714 66.716 < 2e-16 ***
d1[, j] -1.5832 0.2105 -7.521 3.73e-13 ***
就是這樣,因為它顯示"j",變成好幾筆oputput的變數都一樣。我希望至少直接顯示j代表的數字,請問要如何做?
或是更進階一點的,請問有辦法顯示成原本在names(d1)[j]裡面的名稱嗎?(d1是我的data)
--
當你選了一間新餐廳,發現沒想像中的好吃的時候,你下次願意去吃另一間食安有問題的,
當作給新餐廳老闆的一點抗議嗎?
當你發現新買的飲料不好喝,你下次願意去喝化糞池的水,當作表示對飲料商的不滿嗎?
當你宿舍舍友管機歪又囉嗦,你願意搬去和強暴犯住一起,表達對原本舍友的不滿嗎?
當你發現小孩還不會講話,只會哭很煩,你會選擇把這個小孩丟到孤兒院,再生一個看會不會安靜點嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.137.77
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1498524111.A.5F2.html
→ x88776544pc: rownames(temp$coef) <- c("Inter.",names(d1)[j]) 06/27 10:07
→ x88776544pc: 也可以在lm裡面加參數data=d1,formula裡面直接用名稱 06/27 10:14
→ REIDO: formula裡面有困難,因為我用數字指定迴圈比較方便,用list 06/27 18:54
→ REIDO: 會落落長。rowname那個成功了,感恩! 06/27 18:54
→ REIDO: 題外話,$coef和$coefficients有甚麼不同啊? 06/27 18:55
→ andrew43: 沒有不同喔。 06/27 19:41
→ REIDO: 那位什麼R要分兩個標籤啊? 06/27 22:05
→ celestialgod: 並非兩種標籤,$coef他會去match這個開頭的 06/27 22:07
→ celestialgod: 如果找不到會回傳NULL,兩個一樣開頭也會NULL 06/27 22:08
→ celestialgod: 可以參考 match.arg這個函數的範例 06/27 22:08
→ celestialgod: 基本上$的做法就是用match.arg的想法去實踐 06/27 22:08