r-如何使用map从数据帧列表中删除变量



如何使用map将同名变量拖放到数据帧列表中?遗憾的是,变量在每个数据帧中出现在不同的位置,所以我不能使用它的位置来删除它。它必须有它的名字。

var1<-rnorm(100)
var2<-sample(letters, 100, replace=T)
var3<-rnorm(100)
df<-data.frame(var1, var2, var3)
df2<-data.frame(var1, var3, var2)
list1<-list(df, df2)
library(purrr)
#This works, but it won't help me because var2 is in different positions. 
list1 %>%
map(., `[`, -2)
#This does not work. 
list1 %>% 
map(., `[`, -c("var2"))

您可以进行

map(list1, ~ .x %>% select(-var2))

或者使用NSE与卷曲-卷曲表达

name_excl <- "var2"
map(list1, ~ .x %>% select(-{{name_excl}}))

最新更新