[問題] 保持物件結構,將值依照預設填入問題。

看板R_Language作者 (principal component QQ)時間8年前 (2017/09/13 23:35), 8年前編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) 效能諮詢(我想讓R 跑更快) [軟體熟悉度]: 入門(對語法不熟悉) [問題敘述]: 保留物件結構,假設我有一個物件如下: obj_A <- list(matrix(NA,nrow = 2,2), matrix(NA,nrow = 3,2), matrix(NA,nrow = 2,1)); 假設我有一些數值,如下: num <- 1:12; 有甚麼辦法可以很快的 將 num 中的數字按照 R 內建排列矩陣的方式將值填入, 但又不破壞物件的結構。 我試過寫for迴圈來解決,但是當矩陣及數值是大量的時候會等很久, 例如每個矩陣都是5000*2000這種的QQ 想問有沒有類似"將值填入物件"的指令,讓coding可以更簡單快速。 [程式範例]: https://ideone.com/HPIsOg [環境敘述]: windows10 [關鍵字]: 慚愧不知道怎麼找相關資訊。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.95.65 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1505316955.A.D95.html

09/13 23:37, , 1F
直接array不行嗎
09/13 23:37, 1F

09/13 23:37, , 2F
array(1:12, c(2,2,3))
09/13 23:37, 2F
※ 編輯: wheado (119.14.95.65), 09/13/2017 23:43:38

09/13 23:39, , 3F
而且範例出來的結果跟你預期應該不一樣
09/13 23:39, 3F

09/13 23:44, , 4F
抱歉大大,更正一下,是list結構,因為
09/13 23:44, 4F

09/13 23:44, , 5F
list中各個矩陣維度可能不一樣。
09/13 23:44, 5F

09/13 23:46, , 6F
如果是你修改前的就 obj_A[1:length(obj_A)]<-num 直接填
09/13 23:46, 6F

09/13 23:47, , 7F
如果是list結構,就不能用array方式填入值QQ
09/13 23:47, 7F

09/13 23:48, , 8F
結果希望可以是 unlist(res_A) == num 結果為TRUE。
09/13 23:48, 8F
文章代碼(AID): #1PkL1RsL (R_Language)
文章代碼(AID): #1PkL1RsL (R_Language)