r - 重命名列表的元素
问题描述
我正在创建一个从数据框中提取变量的大型列表。这是一个例子:
df <- data.frame (A-Imp = c(4,8,2,4,3),
A-Rea = c(4,4,5,6,7),
B-Imp = c(3,2,6,5,8),
B-Rea = c(1,2,6,7,9),
C-Imp = c(4,8,6,6,10),
C-Rea = c(6,8,5,1,9),
D-Imp = c(1,6,4,8,8),
D-Rea = c(3,3,6,1,10))
groups <- list(
"groupA" <- c("A-Imp", "A-Rea"),
"groupB" <- c("B-Imp", "B-Rea"),
"groupC" <- c("C-Imp", "C-Rea"),
"groupD" <- c("D-Imp", "D-Rea"))
我想要做的是重命名每个向量的条目,只保留名称的最后一部分。它看起来像这样:
groups <- list(
"groupA" <- c("Imp", "Rea"),
"groupB" <- c("Imp", "Rea"),
"groupC" <- c("Imp", "Rea"),
"groupD" <- c("Imp", "Rea"))
由于这是一个很长的列表,我不想手动进行。关于如何进行的任何想法?
解决方案
groups <- lapply(groups, sub, pattern = "[A-Z]-", replacement = "")
str(groups)
List of 4
$ : chr [1:2] "Imp" "Rea"
$ : chr [1:2] "Imp" "Rea"
$ : chr [1:2] "Imp" "Rea"
$ : chr [1:2] "Imp" "Rea"
推荐阅读
- javafx - JavaFX.fxml.LoadException
- angular - Angular 从 URL 中删除 #
- c# - 统一整合 admob 奖励视频
- ios - 使用 handleWatchKitExtensionRequest
- php - Wordpress - 获取帖子中当前使用的附件图像
- java - 我面临 java.lang.StringIndexOutOfBoundsException:
- java - 在 Hibernate 中使用 SEQUENCE 时导致唯一约束违规的原因是什么?
- expression - 如何在不简化的情况下将字符串转换为 Sympy 表达式?
- ruby-on-rails - Rails 断言 - 最佳实践?
- javascript - 在 jquery $.when(ajax).done(function(){do sth} 中,我怎样才能两次回调到同一个回调函数?