[程式] R統計軟體

看板Statistics作者 (welcome)時間15年前 (2010/09/04 22:27), 編輯推噓0(0012)
留言12則, 3人參與, 最新討論串1/2 (看更多)
我使用R統計軟體+{quantreg}4.11版本的 rq.fit.fcen()函數 參考指令如下 -------------------------------------------------------------------- rq.fit.fcen(x, y, yc, beta, tau = 0.5, left = TRUE) x :the design matrix y : the response variable yc :the censoring points for the response variable, defaults to zero. beta: the starting value for the parameter, defaults to vector of zeros. tau :the quantile desired, defaults to 0.5. left :Logical flag if TRUE - left censoring is indicated, if FALSE then right censoring is indicated ---------------------------------------------------------------------- 而我載入package後輸入我的data及指令如下 >library(quantreg) >read.table("pigmarket.txt",header=FALSE,sep="") >pigmarket<-read.table("pigmarket.txt") >pigmarket >y<-pigmarket[,1] >y [1] 1.000 0.696 0.240 1.000 0.670 0.578 0.561 1.000 0.279 0.515 0.438 0.638 [13] 0.375 0.653 0.877 0.440 0.329 0.155 0.263 >yc<-pigmarket[,2] >yc [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >r1<-pigmarket[1,3:10] >r2<-pigmarket[2,3:10] >r3<-pigmarket[3,3:10] >r4<-pigmarket[4,3:10] >r5<-pigmarket[5,3:10] >r6<-pigmarket[6,3:10] >r7<-pigmarket[7,3:10] >r8<-pigmarket[8,3:10] >r9<-pigmarket[9,3:10] >r10<-pigmarket[10,3:10] >r11<-pigmarket[11,3:10] >r12<-pigmarket[12,3:10] >r13<-pigmarket[13,3:10] >r14<-pigmarket[14,3:10] >r15<-pigmarket[15,3:10] >r16<-pigmarket[16,3:10] >r17<-pigmarket[17,3:10] >r18<-pigmarket[18,3:10] >r19<-pigmarket[19,3:10] >x<-rbind(r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18,r19) >x V1 V2 V3 V4 V5 V6V7 V8 V9 1 1.000 1 -0.000105995 0.17381129 29705.0 0 59 -10.81% 7204.5 2 0.696 0 0.009635458 0.18606607 159057.5 1 30 8.75% 2241.0 3 0.240 0 0.016440896 0.14680241 151728.0 1 25 2.93% 680.5 4 1.000 1 0.014597540 0.15665462 70895.5 0 34 18.31% 610.0 5 0.670 0 0.000244309 0.16914123 40012.0 0 28 28.16% 1400.5 6 0.578 0 0.000200581 0.11791158 39525.5 0 25 -13.66% 19600.0 7 0.561 0 -0.003091019 0.23620656 64177.5 0 33 -7.30% 14490.5 8 1.000 1 -0.000677150 0.31962903 16590.0 0 26 53.15% 8692.5 9 0.279 0 0.006102692 0.21100854 30681.0 0 27 74.80% 8141.0 10 0.515 0 0.003303078 0.14024460 70534.5 1 32 132.33% 19254.0 11 0.438 0 -0.002862384 0.25293520 15450.0 0 26 22.30% 638.0 12 0.638 0 -0.001771143 0.20834201 37312.5 0 20 -2.80% 147.0 13 0.375 0 0.005680025 0.17346024 51064.5 1 28 26.17% 11682.0 14 0.653 0 -0.001653451 0.26889576 66803.5 0 59 12.44% 6634.5 15 0.877 0 -0.003527776 0.06001860 48241.5 1 54 0.06% 370.0 16 0.440 0 0.006296961 0.16850862 76836.0 0 20 5.48% 3540.5 17 0.329 0 -0.002655107 0.13208665 28125.5 0 25 3.62% 4998.5 18 0.155 0 -0.004603119 0.17549669 4444.5 0 25 54.99% 101.5 19 0.263 0 -0.002087705 0.00729927 1623.0 1 33 -26.47% 2054.5 V10 1 0.519937041 2 -0.662887828 3 1.202352941 4 0.772727273 5 0.767786561 6 1.716344331 7 0.539519804 8 0.355371901 9 -0.244339012 10 0.004267944 11 3.853211009 12 0.000000000 13 0.297345133 14 0.774780427 15 0.508474576 16 -0.245974734 17 0.001802163 18 -0.664473684 19 0.142335766 >rq.fit.fcen(x,y,yc,0,tau=0.5,left=FALSE) -------------------------------------------------------------------------- 結果程式給我的問題回應如下 錯誤在rq.fit.fcen(x, y1, yc, 0, tau = 0.5, left = FALSE) : 外部函數呼叫時不能有 NA/NaN/Inf (引數 1) 此外: Warning message: In rq.fit.fcen(x, y1, yc, 0, tau = 0.5, left = FALSE) : 強制變更過程中產生了 NA --------------------------------------------------------------------------------------------------- *** 不知道問題到底出在哪???? 求助於厲害的R軟體高手們,小弟我實在是無計可施了 趕激不盡!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.105.251.159

09/05 00:54, , 1F
應該是說引入的 x 有問題, 我猜是 r9 的問題.
09/05 00:54, 1F

09/05 00:54, , 2F
v9 可能有問題. 百分號?
09/05 00:54, 2F

09/05 20:57, , 3F
我覺得很詭異是 , 你的 r1~r19 應該都是八個數字的向量
09/05 20:57, 3F

09/05 20:58, , 4F
但你的 x 矩陣卻有 10 個數字 per row
09/05 20:58, 4F

09/05 22:04, , 5F
感謝gsuper大,這部分問題解決了,我還有下列文章中
09/05 22:04, 5F

09/05 22:04, , 6F
的問題!感謝!!
09/05 22:04, 6F

09/05 23:36, , 7F
我想 "強制變更過程中產生了 NA" 有兩個可能性
09/05 23:36, 7F

09/05 23:37, , 8F
1. 你的 y1 向量或 yc 向量比 x 矩陣來的長或短
09/05 23:37, 8F

09/05 23:37, , 9F
你可以試試看 a <- 1:5 ; a[6] ; 你會發現產生了 NA
09/05 23:37, 9F

09/05 23:38, , 10F
2. 你的整個 x 矩陣都被視為字串 , 這個原因是因為 V9 的 %
09/05 23:38, 10F

09/05 23:39, , 11F
可手動把35%換成0.35這種格式,然後用as.data.frame()來轉x
09/05 23:39, 11F

09/05 23:40, , 12F
還有一種可能 , 就是這個 function 吃的資料需要 t(x)
09/05 23:40, 12F
文章代碼(AID): #1CWbTUoE (Statistics)
文章代碼(AID): #1CWbTUoE (Statistics)