作者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://webptt.com/cn.aspx?n=bbs/R_Language/M.1494113321.A.8FF.html
1F:→ x88776544pc: 原 PO 是想要 lapply(iris,class) 这样的效果吗? 05/07 09:20
2F:→ x88776544pc: 是的话重新命名就好,不是的话可以参考 ?parse 05/07 09:50
3F:→ x88776544pc: x="var1";eval(parse(text = paste0(x,"=",5)));var1 05/07 09:51
4F:→ sacidoO: 回楼上 好像不是 其实我只是想简化那个长LIST而已 但不 05/07 10:04
5F:→ sacidoO: 知道怎麽做.... 05/07 10:04
6F:推 a78998042a: temp = lapply(1:100, function(x)list(tpye ="factor 05/09 01:10
7F:→ a78998042a: ")) 05/09 01:10
8F:→ a78998042a: names(temp) = paste0("var", 1:100) 05/09 01:10
9F:→ sacidoO: 感谢a大,这就是我要的效果 也感谢上面x大提供的资讯 05/10 11:49