看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢 [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: Warning messages: In cbind(one, d, p) : number of rows of result is not a multiple of vector length (arg 2) [程式範例]: for (i in 1:5) { one <- rep(1, 1000) d <- data[i:999+i,2] p <- data[i:999+i,3] X <- cbind(one, d, p) } 看了老半天,實在看不出問題出在哪==... 還是說在data選擇時範圍裏面不能用 i:999+i ? 請求解惑! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.105.103 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1442133382.A.049.html
celestialgod: 長度不同 09/13 16:46
celestialgod: one是1000,d跟p分別是998, 997, ... 09/13 16:48
celestialgod: i:999+i 會解讀成i到999的序列+i 09/13 16:48
celestialgod: 你如果要i到999+i請用括號,i:(999+i) 09/13 16:49
celestialgod: matlab才准許i:999+i...小心使用QQ 09/13 16:49
laputaca: 0.0可是 one d p 不都是 1000個值嗎...? 09/13 16:49
laputaca: xdddddddd原來如此!!!我試試看~~~ 09/13 16:49
celestialgod: 我上面寫得不好應該是 d跟p隨著i增加長度是999, 998 09/13 16:50
celestialgod: , 997, 996, 995... 09/13 16:50
celestialgod: ':' operator在不同程式語言,順序不同 09/13 16:52
celestialgod: r這裡是function會優先跑 09/13 16:52
laputaca: 感恩大大以解決!! 09/14 16:51