微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

替换 R 中列表列表中的部分文本

如何解决替换 R 中列表列表中的部分文本

我正在尝试替换列表名称的特定部分,但我遇到了困难。在这种情况下,我只会删除有 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))))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。