[問題] list賦值 & matrix資料選擇
[問題類型]:
程式諮詢(我想用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
07/12 17:58, 1F
→
07/12 18:00, , 2F
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
07/12 22:32, 3F
→
07/12 22:33, , 4F
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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章