获取列表中 df 的特定列的名称
Getting the name of a specific column of df within a list
示例数据:
df1 <- as.data.frame(rbind(c(1,2,3), c(1, NA, 4), c(NA, NA, NA), c(4,6,7), c(4, 8, NA)))
df2 <- as.data.frame(rbind(c(1,2,3), c(1, NA, 4), c(4,6,7), c(NA, NA, NA), c(4, 8, NA)))
dfList <- list(df1,df2)
colnames <- c("A","B","C")
dfList[[1]]
# V1 V2 V3
# 1 1 2 3
# 2 1 NA 4
# 3 NA NA NA
# 4 4 6 7
# 5 4 8 NA
dfList[[2]]
# V1 V2 V3
# 1 1 2 3
# 2 1 NA 4
# 3 4 6 7
# 4 NA NA NA
# 5 4 8 NA
# I know I can get the names out like this:
namesvec <- lapply(dfList, function(x) lapply(x, names))
但是如果我想得到一个特定的名字,什么都行不通:
names(namesvec[[1]][[1]])
colnames(namesvec[[1]][[1]])
rownames(namesvec[[1]][[1]])
# lapply(county_list, function(x) lapply(x[1], names))
# lapply(county_list, function(x) lapply(x[[1]], names))
这一定很简单,但它让我发疯..
您不使用 namesvec <- lapply(dfList, function(x) lapply(x, names))
来获取列表中的所有名称。使用 :
cols <- lapply(dfList, names)
cols
#[[1]]
#[1] "V1" "V2" "V3"
#[[2]]
#[1] "V1" "V2" "V3"
现在要提取特定的列名,请使用:
#First column name of first list
cols[[1]][1]
#[1] "V1"
#third column name of first list.
cols[[1]][3]
[1] "V3"
#first column of second list.
cols[[2]][1]
[1] "V1"
我们可以使用map
library(purrr)
map(dfList, names)
示例数据:
df1 <- as.data.frame(rbind(c(1,2,3), c(1, NA, 4), c(NA, NA, NA), c(4,6,7), c(4, 8, NA)))
df2 <- as.data.frame(rbind(c(1,2,3), c(1, NA, 4), c(4,6,7), c(NA, NA, NA), c(4, 8, NA)))
dfList <- list(df1,df2)
colnames <- c("A","B","C")
dfList[[1]]
# V1 V2 V3
# 1 1 2 3
# 2 1 NA 4
# 3 NA NA NA
# 4 4 6 7
# 5 4 8 NA
dfList[[2]]
# V1 V2 V3
# 1 1 2 3
# 2 1 NA 4
# 3 4 6 7
# 4 NA NA NA
# 5 4 8 NA
# I know I can get the names out like this:
namesvec <- lapply(dfList, function(x) lapply(x, names))
但是如果我想得到一个特定的名字,什么都行不通:
names(namesvec[[1]][[1]])
colnames(namesvec[[1]][[1]])
rownames(namesvec[[1]][[1]])
# lapply(county_list, function(x) lapply(x[1], names))
# lapply(county_list, function(x) lapply(x[[1]], names))
这一定很简单,但它让我发疯..
您不使用 namesvec <- lapply(dfList, function(x) lapply(x, names))
来获取列表中的所有名称。使用 :
cols <- lapply(dfList, names)
cols
#[[1]]
#[1] "V1" "V2" "V3"
#[[2]]
#[1] "V1" "V2" "V3"
现在要提取特定的列名,请使用:
#First column name of first list
cols[[1]][1]
#[1] "V1"
#third column name of first list.
cols[[1]][3]
[1] "V3"
#first column of second list.
cols[[2]][1]
[1] "V1"
我们可以使用map
library(purrr)
map(dfList, names)