[問題] list賦值 & matrix資料選擇

看板R_Language作者 (Same)時間8年前 (2017/07/12 15:38), 8年前編輯推噓0(005)
留言5則, 1人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 十分基礎的幾個問題...Orz 1. 我想要創建list的型態長這樣 list[[1]] $seq_no [1] '0001' $name [1] '水果' $type [1] 'A' 'B' 'C' list[[2]] $seq_no [1] '0002' $name [1] '肉類' $type [1] 'B','C' .... 現在我手邊有seq_no,name,type 的vector (07/13更新:type會是一個長度和seq_no,name相同的list,裡面包不同長度的vector 我的問題是 我要怎麼給list按照如上的順序寫入資料? 我可以這樣寫接forloop去做↓↓ list[[1]]$seq_no <- seqno[1] list[[1]]$name <- name[1] list[[1]]$type <- type[[1]] list[[2]]$seq_no <- seqno[2] list[[2]]$name <- name[2] list[[2]]$type <- type[[2]] 但是我有沒有辦法一次性的叫出list[[1]]['seq_no'] list[[2]]['seq_no'].... 以前用lapply(list, '[[', 1) 可以看到這個值 但要怎麼寫進去沒有頭緒Orz 謝謝大家) 想要每個寫入給list[[1]] list[[2]]...... 目前寫到這邊就不太確定要怎麼把內部資料寫進去了 test <- vector(mode = 'list', length = length(seq_no)) 要怎麼給每個list[[i]] 寫入資料? 我知道用forloop可以寫進去 但感覺蠢翻了... 2. 我的資料長這樣 c('A','B','C') 另外有一筆選擇資料的matrix [1,] T,F,F [2,] F,F,T [3,] F,T,T [4,] F,F,F [5,] T,T,T 想要輸出另一個matrix為 [1,] A,NA,NA [2,] NA,NA,C [3,] NA,B,C [4,] NA,NA,NA [5,] A,B,C 不知道要怎麼寫出來? [程式範例]: [環境敘述]: 請提供 sessionInfo() 的輸出結果, 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: list, matrix -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.72.3 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1499845094.A.B34.html

07/12 17:58, , 1F
2 先逐欄把T填成a/b/c,最後所有的F都填成NA就可以了
07/12 17:58, 1F

07/12 18:00, , 2F
1 type要怎麼決定它是屬於哪個seq_no先要定義才行
07/12 18:00, 2F
其實應該是會變成這樣? > test [[1]] [[1]]$seq_no [1] '0001' [[1]]$type [1] "A" "B" [[2]] NULL list裡面再一個list再接,我還要再試試,謝謝a大

07/12 22:32, , 3F
我的意思是,原始type要怎麼分給不同list要先說明。
07/12 22:32, 3F

07/12 22:33, , 4F
因為你說type是一個向量,分配給list並不是一對一的。
07/12 22:33, 4F
啊,那麼type應該會是一個list包不同長度的vector的, 這個list長度和seq_no會是一樣的 這樣的話OK嗎?

07/13 00:57, , 5F
這樣應該沒問題了。是否把問題按你的說明更新一下?
07/13 00:57, 5F
更新了,謝謝~~~ ※ 編輯: samex4x4 (60.248.72.3), 07/13/2017 09:27:00
文章代碼(AID): #1PPT7ciq (R_Language)
文章代碼(AID): #1PPT7ciq (R_Language)