正则表达式 – 使用lapply绘制列表中的数据并使用列表元素的名称
发布时间:2020-12-14 06:02:15 所属栏目:百科 来源:网络整理
导读:参见英文答案 Adding lists names as plot titles in lapply call in R????????????????????????????????????1个 如果我有以下列表: comp.surv - list(a = 1:4,b = c(1,2,4,8),c = c(1,3,8,27))comp.surv# $a# [1] 1 2 3 4# # $b# [1] 1 2 4 8# # $c# [1] 1
参见英文答案 >
Adding lists names as plot titles in lapply call in R????????????????????????????????????1个
如果我有以下列表: comp.surv <- list(a = 1:4,b = c(1,2,4,8),c = c(1,3,8,27)) comp.surv # $a # [1] 1 2 3 4 # # $b # [1] 1 2 4 8 # # $c # [1] 1 3 8 27 我可以使用lapply绘制每个列表元素: lapply(comp.surv,function(x) plot(x)) 但是,我想将每个列表元素的名称包括为剧情标题(主要).对于我的示例数据,每个图的标题分别为a,b和c.首先,我有一个给出comp.surv $a的gsub规则,我返回一个: gsub(comp.surv$([a-z]+),"1",deparse(sustitute((comp.surv$a))) # "a" 这很好.但是我不能将这个结果嵌入上面的lapply声明中.有任何想法吗? 与此同时,我试图通过创建一个包含主要参数的函数来绕过这个: splot <- function(x){ plot(x,main = gsub(comp.surv$([a-z]+),"1" deparse(sustitute((x)))) } lapply(comp.surv,function(x) splot(x)) 这将绘制comp.surv的每个子变量,但所有标题都是空白的. 如果我走的是正确的轨道,任何人都可以推荐吗? 解决方法
一种可能性是循环列表的名称:
lapply(names(comp.surv),function(x) plot(comp.surv[[x]],main = x)) 或稍微冗长,循环遍历列表索引: lapply(seq_along(comp.surv),main = names(comp.surv)[x])) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |