加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 使用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]))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读