作者sacidoO (阿罵)
看板R_Language
標題[問題] list中包含list
時間Sun May 7 07:28:39 2017
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
想要對多個變數進行list nested list變數的type
[程式範例]
ex.
coltype<-list (var1=list(type ="factor"),
var2=list(type ="factor"),
var3=list(type ="factor"),
var4=list(type ="factor"),
...,
varn=list(type ="factor"))
#但是變數一多 程式會變很長
網路上找個paste的方法 但是只是把變數儲存一個文字檔而已...
#嘗試的代碼
#m is a vector where [1]var1 [2]var2 [3]var3...
temp<-m[1:length(m)-1) #this is to paste first 1-n factor
final<-m[length(m)] #paste the final factor
#only have list if using paste function
factor_list<-list(paste(paste(temp, collapse=" = list(type= 'factor'),"),
paste(final,collapse=" list(type= 'factor')")))
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
裡面含有所有你使用的作業系統、R 的版本和套件版本資訊,
讓版友更容易找出錯誤
[關鍵字]:
選擇性,也許未來有用
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 72.195.237.4
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1494113321.A.8FF.html
→ x88776544pc: 原 PO 是想要 lapply(iris,class) 這樣的效果嗎? 05/07 09:20
→ x88776544pc: 是的話重新命名就好,不是的話可以參考 ?parse 05/07 09:50
→ x88776544pc: x="var1";eval(parse(text = paste0(x,"=",5)));var1 05/07 09:51
→ sacidoO: 回樓上 好像不是 其實我只是想簡化那個長LIST而已 但不 05/07 10:04
→ sacidoO: 知道怎麼做.... 05/07 10:04
推 a78998042a: temp = lapply(1:100, function(x)list(tpye ="factor 05/09 01:10
→ a78998042a: ")) 05/09 01:10
→ a78998042a: names(temp) = paste0("var", 1:100) 05/09 01:10
→ sacidoO: 感謝a大,這就是我要的效果 也感謝上面x大提供的資訊 05/10 11:49