→ sseeaann:感謝c大 對我處理迴歸有很大的幫助^^ 09/06 02:29
推 sseeaann:想再請教c大 假如資料含有NA 如何把NA排除或轉化為0? 09/06 14:49
如果你的data存在dat這個object上,指令如下
dat[which(is.na(dat)]=0
推 sseeaann:另外還有幾個問題 outlierTest()指令是跑出所有離群值的? 09/06 15:23
他會告訴你說有沒有standardized residual太大 在第一行
然後下面會列出最大的standardized residual....
我手邊沒有一個有outlier的data,不知道有outlier他會怎樣....
→ sseeaann:離群值要怎麼做刪除? 指令我不太會..以savings資料檔為例 09/06 15:25
離群值就你如果知道他的row number,rn 就 dat.new=data[-rn]
推 sseeaann:我有把要刪除na的資料檔打進指令內 但好像還是不行 09/06 16:59
→ sseeaann:刪除NA的資料檔我適用data(airquality) 09/06 16:59
sorry, 不用which
airquality[is.na(airquality)]=0
→ sseeaann:我自己有找過刪除NA的指令 好像有個na.action=na.exclude 09/06 17:00
→ sseeaann:另外離群值的哪個指令 好像刪除數字還可以 09/06 17:01
→ sseeaann:但文字的離群值就不知道該怎麼刪除了 09/06 17:01
你有例子我可以幫你試試看....
還有我對function涉獵比較少...通常我都徒法煉鋼@@...
可能有好用的function可以用於刪除NA or Outliers...
推 sseeaann:另外誠心跟c大您說聲感恩 不然迴歸很少有用R的書籍= =+ 09/06 17:06
書的話下面有幾本 你可以在網路上找到低調
Linear Models with R
Extending_the_Linear_Model_with_R
Using R for Data Management, Statistical Analysis, and Graphics
這幾本都有用回歸作分析....而且都是用R
推 sseeaann:關於文字的離群值我適用data(savings)資料檔 再用指令 09/06 18:24
→ sseeaann:outlierTest()找出離群值 只是試跑出文字的離群值用 09/06 18:25
→ sseeaann:data[-rn,]的方式不適能刪除 數字的話就沒問題! 09/06 18:26
推 sseeaann:另外剛剛有把airquality[is.na(airquality)]=0的指令放在 09/06 18:34
→ sseeaann:lm()指令中 但發現如果對y做log轉換好像就有問題= =+ 09/06 18:34
還是不太明白什麼叫做文字離群值XD...
rn一定要數字啊!!! 因為那個是去掉那一列
如果你說的是去掉某一個國家的話,可以這樣
savings[-match("South Africa", rownames(savings)),]
這個就是我要去掉南非那一個row....當然可以一次去多個
savings[-match(c("South Africa","China"), rownames(savings)),]
因為你y裡面有0....(PS:你剛剛說要把NA轉成0....)
所以log(0)=-Inf...當然會有問題
補充:你可能會用到多項式的回歸
可以這樣寫 lm(y~I(x^2)+I(x^3)+log(x))
I()可以讓你在lm裡面做計算@@...
推 sseeaann:喔喔 對吼 不能LOG(0)= =+ 那NA的部分要怎麼處理才好= =? 09/06 19:30
→ sseeaann:因為有個迴歸方程的常態假設沒成立 所以我要對Y做LOG轉換 09/06 19:31
→ sseeaann:麻煩的是airquality這個資料檔有NA.. 09/06 19:31
→ sseeaann:晚一點我可能會PO我寫的程式碼@@ 不過應該有些問題.. 09/06 19:33
NA就是NA阿= = 給他0....實在不怎麼make sense除非有什麼合理解釋...
你PO程式碼之後 可以再研究看看
※ 編輯: celestialgod 來自: 218.164.79.227 (09/06 19:41)