Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 重命名列表中的元素_R_List_Rename - Fatal编程技术网

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"