在 R 中按名称为数据框列表创建子集
Create subset for a list of data frames by name in R
如何根据数据框的名称从数据框列表创建子集?
例如,
d1<-data.frame(a=rnorm(5), b=c(rep(2006, times=4),NA))
b2<-data.frame(a=1:5, b=c(2007, 2007, NA, NA, 2007))
my.ls <- list(d1 = d1, b2 = b2)
my.ls
假设我想 select(或过滤?)数据框名称中包含字母 b 的每个数据框,我该怎么做?
我试过这个:
flrcp45 <- lapply(my.ls, subset, contains = "b")
但它包含了一切。
你可以试试这个(包括 Laterow 的提示):
my.ls[grepl("b",names(my.ls))]
$b2
a b
1 1 2007
2 2 2007
3 3 NA
4 4 NA
5 5 2007
如何根据数据框的名称从数据框列表创建子集?
例如,
d1<-data.frame(a=rnorm(5), b=c(rep(2006, times=4),NA))
b2<-data.frame(a=1:5, b=c(2007, 2007, NA, NA, 2007))
my.ls <- list(d1 = d1, b2 = b2)
my.ls
假设我想 select(或过滤?)数据框名称中包含字母 b 的每个数据框,我该怎么做?
我试过这个:
flrcp45 <- lapply(my.ls, subset, contains = "b")
但它包含了一切。
你可以试试这个(包括 Laterow 的提示):
my.ls[grepl("b",names(my.ls))]
$b2
a b
1 1 2007
2 2 2007
3 3 NA
4 4 NA
5 5 2007