[問題] list中包含list

作者: sacidoO (阿罵)   2017-05-07 07:28:39
[問題類型]:
程式諮詢(我想用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 的版本和套件版本資訊,
讓版友更容易找出錯誤
[關鍵字]:
選擇性,也許未來有用
作者: x88776544pc (龍飛五丈原)   2017-05-07 09:20:00
原 PO 是想要 lapply(iris,class) 這樣的效果嗎?是的話重新命名就好,不是的話可以參考 ?parsex="var1";eval(parse(text = paste0(x,"=",5)));var1
作者: sacidoO (阿罵)   2017-05-07 10:04:00
回樓上 好像不是 其實我只是想簡化那個長LIST而已 但不知道怎麼做....
作者: a78998042a (Benjimine)   2017-05-09 01:10:00
temp = lapply(1:100, function(x)list(tpye ="factor"))names(temp) = paste0("var", 1:100)
作者: sacidoO (阿罵)   2017-05-10 11:49:00
感謝a大,這就是我要的效果 也感謝上面x大提供的資訊

Links booklink

Contact Us: admin [ a t ] ucptt.com