[問題] For迴圈寫入matrix

看板R_Language作者 (麥克華斯基)時間4年前 (2020/04/22 11:07), 編輯推噓4(4014)
留言18則, 4人參與, 4年前最新討論串1/1
[軟體熟悉度]: 入門 [問題敘述]: 我目前想要做出多組數據的sp^2來估計群體的總變異數,目前遇到的問題是如果單跑 sqrt((((D[3+(i*4500-4500),5])^2)+((D[4+(i*4500-4500),5])^2))/(k-1-(k/2-1))) 這行的話出來的sp^2值是正確的 但如果用i=5000,k=4500時的for迴圈做大量運算時sp^2就會跑掉 請問各位先進大大們有解法嗎,小弟被困住好多天了,謝謝各位大大 [程式範例]: for(i in c(1:5000)){ for (k in seq(4,4500,by = 2)) { D[4+i*4500-4500,6] <- sqrt((((D[3+(i*4500-4500),5])^2)+((D[4+(i*4500-4500),5]) ^2))/(k-1-(k/2-1))) } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.218 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1587524830.A.AA9.html

04/22 11:29, 4年前 , 1F
沒有迴圈的情況時i和k是什麼?有迴圈時是否有任何警告
04/22 11:29, 1F

04/22 11:34, 4年前 , 2F
沒回圈時i =1,k=4先算出第一組的sp^2,迴圈跑完後迴圈沒
04/22 11:34, 2F

04/22 11:34, 4年前 , 3F
有任何警告
04/22 11:34, 3F

04/22 11:58, 4年前 , 4F
猜測單純資料有毛病或是你的迴圈設計不如預期
04/22 11:58, 4F

04/22 20:21, 4年前 , 5F
你k跟i維度沒有一樣會有問題,因為你的算式同時有ik
04/22 20:21, 5F

04/22 20:30, 4年前 , 6F
還有D[3+(i*4500-4500),5]這裡3+(i*4500-4500)不能超D
04/22 20:30, 6F

04/22 20:30, 4年前 , 7F
的列數
04/22 20:30, 7F

04/23 12:20, 4年前 , 8F
感謝a大&r大的回覆
04/23 12:20, 8F

04/23 12:20, 4年前 , 9F
另回r大3+(i*4500-4500)沒超過D吧
04/23 12:20, 9F

04/23 12:20, 4年前 , 10F
因爲我是5000*4500
04/23 12:20, 10F

04/23 12:20, 4年前 , 11F
謝謝r大回覆!
04/23 12:20, 11F

04/24 21:53, 4年前 , 12F
j每次代數字你的D[4+i*4500-4500,6]這個元素就會被疊掉
04/24 21:53, 12F

04/24 21:53, 4年前 , 13F
一次,所以你整個迴圈出來的結果會是每個i之下j=4500的
04/24 21:53, 13F

04/24 21:53, 4年前 , 14F
結果,也就是前面j=4到4498的結果都沒有被傳出
04/24 21:53, 14F

04/25 19:06, 4年前 , 15F
謝謝x大回覆!我原本是用[k+i*4500-4500,6]只不過後來檢
04/25 19:06, 15F

04/25 19:06, 4年前 , 16F
查發現他sp^2完全都算錯,所以才用[4+i*4500-4500,6]試跑
04/25 19:06, 16F

04/25 19:07, 4年前 , 17F
單跑可以但疊上for loop之後就錯了,苦惱很久之後才來板
04/25 19:07, 17F

04/25 19:07, 4年前 , 18F
上問各位大神
04/25 19:07, 18F
文章代碼(AID): #1UdxJUgf (R_Language)