2016-09-11 3 views
0

によって決まる特定の列を選択して私の例のデータである:私はから特定のキーワードを選択して、新しいテーブルを抽出したいヘッダ以下

Alex X1Alx1 Peter 
1 2  8 15 
2 3  7 12 
3 5  6 14 
4 1  10 11 
5 4  9 13 

set.seed(13435) 
x <- data.frame("Alex"=sample(1:5),"1Alx1"=sample(6:10),"Peter"=sample(11:15)) 

、それは例のテーブルを返します。ヘッダー例えば、私はヘッダーのみからキーワードで私の新しいテーブル「アル」を抽出したいと新しいテーブルは以下のようにする必要があります:私は1つの変数を選択するために、%で%を使用して、方法が存在しているはず

Alex X1Alx1 
1 2  8 
2 3  7  
3 5  6 
4 1  10 
5 4  9 

が、ヘッダーのキーワードを使用してすべてのデータを抽出するにはどうすればよいですか?

+1

'dplyr ::選択(X、含まれています( "アル"))'からgrepを使用することができます。 – Psidom

+0

エラーがあります> eval(expr、envir、enclos)のエラー:関数 "contains"を見つけることができません – Alex

+0

'dplyr'パッケージを更新すると、関数は最新のバージョンになります。 – Psidom

答えて

1

我々はbase R

x[grep("Al", names(x))] 
#  Alex X1Alx1 
#1 2  8 
#2 3  7 
#3 5  6 
#4 1  10 
#5 4  9 
+0

ありがとう、それは動作します。もう1つの質問ですが、複数の条件がある場合はどうすればよいですか? – Alex

+0

@Alexあなたの状態によって異なります。あなたが 'Al'と' Bl'を持っていて、 'x [grep(" Al | Bl "、names(x))]" – akrun

+0

@Alexを投票してみましょう。 – akrun