r - 替换R中列表列表中的部分文本
问题描述
我正在尝试替换列表名称的特定部分,但我遇到了困难。在这种情况下,我只会删除有 x 的部分中的数字。
list1 <- list("L(x0801, 1)" = 1, "L(x0801, 2)" = 2, "L(x0801, 3)" =4, "rer" =2, "L(rer, 1)" = 3)
list2 <- list("L(x0901, 1)" = 1, "L(x0901, 2)" = 2, "L(x0901, 3)" =4, "L(x0901, 4)" =4, "rer" =2, "L(rer, 1)" = 3)
mylist <- list(list1, list2)
所以我试图排除 x 变量附带的数字,但我不希望删除其他变量的数字。所以我希望 mylist 是两个列表的组合,如下所示:
list1 <- list("L(x, 1)" = 1, "L(x, 2)" = 2, "L(x, 3)" =4, "rer" =2, "L(rer, 1)" = 3)
list2 <- list("L(x, 1)" = 1, "L(x, 2)" = 2, "L(x, 3)" =4, "L(x, 4)" =4, "rer" =2, "L(rer, 1)" = 3)
mylist <- list(list1, 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))))
推荐阅读
- javascript - Angular/Javascript - 下载文件链接在移动设备上不起作用
- node.js - 使用 docker-compose 和 traefik 实现微服务之间的通信
- java - 为什么自动依赖是错误版本?(java.lang.ClassNotFoundException:org.junit.jupiter.api.MethodOrdererContext)
- unity3d - 如何在 socket.io 客户端中检测错过的确认
- java - 没有工厂的策略模式中的switch应该放在哪里?
- php - PHP 正在访问复制它们的嵌套数组?
- python - 使用带有 sqlite3 的 sqlalchemy 的基于日期的数据类型的问题
- c# - c# 仅当窗口超过 5 分钟时才将分钟舍入到最近的四分之一
- html - 均匀间隔子级,但将父级与 flex 右对齐
- php - Laravel 许多关系无法获取数据透视表