2016-03-23 9 views
0

データフレームの名前からデータフレームのリストからサブセットを作成するにはどうすればよいですか?例えばデータフレームのリストのサブセットを名前で作成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 

は、私が選択したいと(またはフィルタ?)のデータフレーム名に文字Bを含まれるすべてのデータフレームを、どのように私はこれについて行くだろうか?

flrcp45 <- lapply(my.ls, subset, contains = "b") 

を、それはすべてのものが含まれています

私はこれを試してみました。

答えて

1

あなたはこれを試みることができる(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 
+1

あなたも 'sapply'必要はありません:' my.ls [grepl( "B"、名前を(my.ls) )] ' – Laterow

+1

@Laterowあなたはありがとうございます! :-) – DatamineR

+0

@Laterow、簡潔なコードをありがとう。 – SoilSciGuy

関連する問題