[问题] 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