[問題] lm()與資料輸出

看板R_Language作者 (MORRIS.W)時間10年前 (2014/09/22 14:25), 編輯推噓1(1014)
留言15則, 3人參與, 最新討論串1/2 (看更多)
- 問題: 當你想要問問題時,請使用這個類別 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 大家好我又來問問題了QQ 目前遇到的問題如下 先讀入資料檔 , 再透過commandline給定參數去決定自變數 ,應變數的位置 程式碼大略如下 read.table(data,"路徑") y <- data[[k1]] x1 <- data[[k2]] x2 <- data[[k3]] y:應變數 , x1 , x2 皆為連續型自變數 , 不須轉換成分類變數 其中k1,k2,k3行的名稱分別為 weigh , A ,B output <- lm(y ~ x1 + x2,data) summary(output) 則會出現下列結果 Estimate Std. Error t value Pr(>|t|) (Intercept) 26.23730 5.93517 4.421 1.08e-05 *** data[, k2] 0.01520 0.01138 1.336 0.1819 data[, k3] -0.90883 8.18376 -0.111 0.9116 但我希望summary後的結果像這樣 Estimate Std. Error t value Pr(>|t|) (Intercept) 26.23730 5.93517 4.421 1.08e-05 *** A 0.01520 0.01138 1.336 0.1819 B -0.90883 8.18376 -0.111 0.9116 就是如同 lm (weigh ~ A+B , data=data)的效果 請問我再 lm() 中 該怎麼寫呢? 已經試過很多方式例如 names(data)[k1] 之類的方式lm當中 , 但還是失敗了 也看過help(lm)了 ,不太了解內部放的y~x屬於何種型態 因為檔案是從外不讀入所以行的名稱不固定不能寫死QQ 第二個問題是 , 假設我將檔案輸出了 , 程式碼大略如下 write.table(summary(output),"路徑") 假設輸出的是txt檔 , 前面都會有數字1,2...... 就像下面那樣 "x" "1" "" "2" "Call:" "3" "lm(formula = data[, f] ~ data[, c1] + data[, c2] + data[, c3], " "4" " data = data 請問是否有辦法再輸出時去除掉那些數字呢? 謝謝各位QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.110.192 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1411367138.A.89F.html

09/22 14:37, , 1F
Q1有兩種做法, 1. output <- lm(y~x1+x2), 不用assign data
09/22 14:37, 1F

09/22 14:39, , 2F
否則用names(data)改變數名後,不需再令 x1 <- data[[k2]]...
09/22 14:39, 2F

09/22 14:40, , 3F
直接 names(data) <- c("weight","A","B"), 然後
09/22 14:40, 3F

09/22 14:41, , 4F
output <- summary(lm(weight~A+B,data)) 即可
09/22 14:41, 4F

09/22 19:48, , 5F
write.csv(x,"x.csv",row.names=FALSE,quote=FALSE)
09/22 19:48, 5F

09/23 02:32, , 6F
不好意思可能是一開始沒說清楚
09/23 02:32, 6F

09/23 02:34, , 7F
由於讀的檔案都不同 , 所以可能沒辦法用c("weight","A")
09/23 02:34, 7F

09/23 02:34, , 8F
這種方式來寫,另外我試過用lm(y~x1+x2)了
09/23 02:34, 8F

09/23 02:34, , 9F
summary的變數名稱會變成x1,x2 而我要的是AB
09/23 02:34, 9F

09/23 02:35, , 10F
即原檔案的變數名稱QQ , 不好意思一開始沒解釋清楚
09/23 02:35, 10F

09/23 02:35, , 11F
另外Q2解決了 , 謝謝G大!!!!
09/23 02:35, 11F

09/23 08:41, , 12F
在你的程式中,用A丶B取代x1丶x2即可呀…
09/23 08:41, 12F

09/23 11:40, , 13F
A,B 只是假設的變數名稱 , 實際上我不知道讀到的檔案的
09/23 11:40, 13F

09/23 11:40, , 14F
名稱 , 比較像是讓他人上傳想做計算的文件 , 我在將結果
09/23 11:40, 14F

09/23 11:40, , 15F
輸出
09/23 11:40, 15F
文章代碼(AID): #1K7y3YYV (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1K7y3YYV (R_Language)