R 重命名列表中的元素
我正在创建一个从数据帧中提取变量的大列表。以下是一个例子:R 重命名列表中的元素,r,list,rename,R,List,Rename,我正在创建一个从数据帧中提取变量的大列表。以下是一个例子: 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-
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"))
因为这是一个很长的列表,我不想手动完成。有没有关于如何继续的想法?使用sub可以删除所有内容,直到下划线
result <- lapply(groups, function(x) sub('.*-', '', x))
result
#[[1]]
#[1] "Imp" "Rea"
#[[2]]
#[1] "Imp" "Rea"
#[[3]]
#[1] "Imp" "Rea"
#[[4]]
#[1] "Imp" "Rea"
使用sub可以删除所有内容,直到下划线
result <- lapply(groups, function(x) sub('.*-', '', x))
result
#[[1]]
#[1] "Imp" "Rea"
#[[2]]
#[1] "Imp" "Rea"
#[[3]]
#[1] "Imp" "Rea"
#[[4]]
#[1] "Imp" "Rea"
使用地图:
使用地图:
使用map和stru删除
-输出
#[[1]]
#[1] "Imp" "Rea"
#[[2]]
#[1] "Imp" "Rea"
#[[3]]
#[1] "Imp" "Rea"
#[[4]]
#[1] "Imp" "Rea"
使用map和stru删除
-输出
#[[1]]
#[1] "Imp" "Rea"
#[[2]]
#[1] "Imp" "Rea"
#[[3]]
#[1] "Imp" "Rea"
#[[4]]
#[1] "Imp" "Rea"
#[[1]]
#[1] "Imp" "Rea"
#[[2]]
#[1] "Imp" "Rea"
#[[3]]
#[1] "Imp" "Rea"
#[[4]]
#[1] "Imp" "Rea"