2012-04-09 17 views
4

私はdata.framerow.namesをテストで使っています。文字列に基づいてdata.frameの行を選択する

test <- 
c("Env_1990:trait_KPS", "Env_1990:trait_SPSM", "Env_1990:trait_TKW", 
"Env_1990:trait_Yield", "Env_1991:trait_KPS", "Env_1991:trait_SPSM", 
"Env_1991:trait_TKW", "Env_1991:trait_Yield", "Env_1992:trait_KPS", 
"Env_1992:trait_SPSM", "Env_1992:trait_TKW", "Env_1992:trait_Yield", 
"Env_1993:trait_KPS", "Env_1993:trait_SPSM", "Env_1993:trait_TKW", 
"Env_1993:trait_Yield", "Env_1994:trait_KPS", "Env_1994:trait_SPSM", 
"Env_1994:trait_TKW", "Env_1994:trait_Yield", "Env_1995:trait_KPS", 
"Env_1995:trait_SPSM", "Env_1995:trait_TKW", "Env_1995:trait_Yield", 
"Gen_B88:Env_1990:trait_KPS", "Gen_B88:Env_1990:trait_SPSM", 
"Gen_B88:Env_1990:trait_TKW", "Gen_B88:Env_1990:trait_Yield", 
"Gen_B88:Env_1991:trait_KPS", "Gen_B88:Env_1991:trait_SPSM", 
"Gen_B88:Env_1991:trait_TKW", "Gen_B88:Env_1991:trait_Yield", 
"Gen_B88:Env_1992:trait_KPS", "Gen_B88:Env_1992:trait_SPSM", 
"Gen_B88:Env_1992:trait_TKW", "Gen_B88:Env_1992:trait_Yield", 
"Gen_B88:Env_1993:trait_KPS", "Gen_B88:Env_1993:trait_SPSM", 
"Gen_B88:Env_1993:trait_TKW", "Gen_B88:Env_1993:trait_Yield") 

Env_で始まる行のみを選択したいとします。私はEnv_は、すべての行名に表示されますので、このコードは私のすべての行を与えるR

grep(pattern="[Env_]", x=test). 

にこのコードを試してみました。 Env_で始まる行を選択する方法は不思議です。あなたの助けを前にありがとう。

+0

[Env_]は、文字クラスです。 E、n、v、_のいずれかの文字を含む文字列と一致します。 –

答えて

12

あなたが行/列の初めのため^文字を追加したい:

> grep("^Env_", test) 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
> grep("^Env_", test, value = TRUE) 
[1] "Env_1990:trait_KPS" "Env_1990:trait_SPSM" "Env_1990:trait_TKW" 
[4] "Env_1990:trait_Yield" "Env_1991:trait_KPS" "Env_1991:trait_SPSM" 
[7] "Env_1991:trait_TKW" "Env_1991:trait_Yield" "Env_1992:trait_KPS" 
[10] "Env_1992:trait_SPSM" "Env_1992:trait_TKW" "Env_1992:trait_Yield" 
[13] "Env_1993:trait_KPS" "Env_1993:trait_SPSM" "Env_1993:trait_TKW" 
[16] "Env_1993:trait_Yield" "Env_1994:trait_KPS" "Env_1994:trait_SPSM" 
[19] "Env_1994:trait_TKW" "Env_1994:trait_Yield" "Env_1995:trait_KPS" 
[22] "Env_1995:trait_SPSM" "Env_1995:trait_TKW" "Env_1995:trait_Yield" 
+0

あなたの素敵で有益な答えをありがとう。 Env_が中央に表示されている行だけを選択する方法を教えていただければ幸いです。ありがとうございました – MYaseen208

+0

喜んで助けてください。真ん中の "Env_"の場合は、常に ":"の後に来るように見えるので、あなたのパターンは ":Env_"になる可能性があります。任意の文字に続く "Env_"と一致するより一般的なパターンは "。+ Env_"です。 – flodel

関連する問題