删除R中列表中每个TIBLE的第一列

删除R中列表中每个TIBLE的第一列,r,R,我有一个列表,有几个藏书,包括几个列;我想删除每个tible中的前2列(不使用for循环) #带有tibble和list的示例数据 你可以试试: library(purrr) list %>% map(subset,select=-c(1:2)) 您可以尝试: library(purrr) list %>% map(subset,select=-c(1:2)) 您可以用lappy替换sapply,以获得预期的列表输出 lapply(list, FUN = function(x)

我有一个列表,有几个藏书,包括几个列;我想删除每个tible中的前2列(不使用for循环)

#带有tibble和list的示例数据
你可以试试:

library(purrr)
list %>% map(subset,select=-c(1:2))
您可以尝试:

library(purrr)
list %>% map(subset,select=-c(1:2))

您可以用
lappy
替换
sapply
,以获得预期的列表输出

lapply(list, FUN = function(x) subset(x, select=-c(1:2))) 
使用
sapply
时,您需要添加
simplify=FALSE

sapply(list, FUN = function(x) subset(x, select=-c(1:2)), simplify = FALSE) 

另一种选择是使用
[
来创建一个简短的子集

lapply(list, `[`, -c(1, 2))

您可以用
lappy
替换
sapply
,以获得预期的列表输出

lapply(list, FUN = function(x) subset(x, select=-c(1:2))) 
使用
sapply
时,您需要添加
simplify=FALSE

sapply(list, FUN = function(x) subset(x, select=-c(1:2)), simplify = FALSE) 

另一种选择是使用
[
来创建一个简短的子集

lapply(list, `[`, -c(1, 2))

另一种使用Map的base R方法:

Map(function(x){x[,-c(1:2)]}, df_list)
数据:

require("tidyverse")
w <- c(1, 2, 3, 4, 5)
x <- c(1, 2, 3, 4, 5)
y <- c(1, 2, 3, 4, 5)
z <- c(1, 2, 3, 4, 5)
tibble <- tibble(w, x, y, z)
df_list <- list(tibble, tibble, tibble, tibble)
require(“tidyverse”)

w另一种使用Map的base R方法:

Map(function(x){x[,-c(1:2)]}, df_list)
数据:

require("tidyverse")
w <- c(1, 2, 3, 4, 5)
x <- c(1, 2, 3, 4, 5)
y <- c(1, 2, 3, 4, 5)
z <- c(1, 2, 3, 4, 5)
tibble <- tibble(w, x, y, z)
df_list <- list(tibble, tibble, tibble, tibble)
require(“tidyverse”)
W