[問題] for迴圈

看板R_Language作者 (離歌笑)時間10年前 (2015/09/13 16:36), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串1/1
[問題類型]: 程式諮詢 [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 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

09/13 16:46, , 1F
長度不同
09/13 16:46, 1F

09/13 16:48, , 2F
one是1000,d跟p分別是998, 997, ...
09/13 16:48, 2F

09/13 16:48, , 3F
i:999+i 會解讀成i到999的序列+i
09/13 16:48, 3F

09/13 16:49, , 4F
你如果要i到999+i請用括號,i:(999+i)
09/13 16:49, 4F

09/13 16:49, , 5F
matlab才准許i:999+i...小心使用QQ
09/13 16:49, 5F

09/13 16:49, , 6F
0.0可是 one d p 不都是 1000個值嗎...?
09/13 16:49, 6F

09/13 16:49, , 7F
xdddddddd原來如此!!!我試試看~~~
09/13 16:49, 7F

09/13 16:50, , 8F
我上面寫得不好應該是 d跟p隨著i增加長度是999, 998
09/13 16:50, 8F

09/13 16:50, , 9F
, 997, 996, 995...
09/13 16:50, 9F

09/13 16:52, , 10F
':' operator在不同程式語言,順序不同
09/13 16:52, 10F

09/13 16:52, , 11F
r這裡是function會優先跑
09/13 16:52, 11F

09/14 16:51, , 12F
感恩大大以解決!!
09/14 16:51, 12F
文章代碼(AID): #1LzJM619 (R_Language)
文章代碼(AID): #1LzJM619 (R_Language)