问题描述
我正在尝试替换列表名称的特定部分,但我遇到了困难。在这种情况下,我只会删除有 x 的部分中的数字。
list1 <- list("L(x0801,1)" = 1,"L(x0801,2)" = 2,3)" =4,"rer" =2,"L(rer,1)" = 3)
list2 <- list("L(x0901,"L(x0901,4)" =4,1)" = 3)
mylist <- list(list1,list2)
所以我试图排除 x 变量附带的数字,但我不想删除其他变量的数字。所以我希望 mylist 是两个这样的列表的组合:
list1 <- list("L(x,"L(x,1)" = 3)
list2 <- list("L(x,list2)
mylist <- lapply(mylist,function(x) setNames(x,sub("\\d+","",names(x))))
有人可以帮我吗?谢谢。
解决方法
你快到了。只是对替换函数的一个小改动。我在下面做的是用字母 x 替换 x[然后是一些数字]。
mylist <- lapply(mylist,function(x) setNames(x,sub("x\\d+","x",names(x))))