2013-09-21 8 views
7

私はいくつかの行を持つデータフレームを持っています。このデータフレームから特定のrownames(stu2、stu3、stu5、stu9など)を含む行を選択したいとします。このデータフレームは以下のとおりです。次のようにデータフレームから特定の行名を持つ行をいくつか選択するにはR

 attr1 attr2 attr3 attr4 
    stu1  0  0  1  0 
    stu2  -1  1 -1  1 
    stu3  1 -1  0 -1 
    stu4  1 -1  1 -1 
    stu5  -1  1  0  1 
    stu6  1 -1  1  0 
    stu7  -1 -1 -1  1 
    stu8  1 -1  0 -1 
    stu9  -1 -1  1 -1 
    stu10 -1  1  0  1 

結果は以下のとおりです。

 attr1 attr2 attr3 attr4 
    stu2  -1  1 -1  1 
    stu3  1 -1  0 -1 
    stu5  -1  1  0  1 
    stu9  -1 -1  1 -1 

Rでそれを解決する方法?ありがとうございました。

このように、あなたはデータフレームが studentsと呼ばれている、あなたはブラケットの構文を使用して、個々の行または列を選択することができますと仮定すると
+8

を質問が有効なものです。ユーザーが期待した結果を出しました。はい、彼はRの最小限の理解を持つ初心者のようですが、私はこれが彼に対抗しないと信じています。結局のところ、我々はいくつかの分野ではすべての騒動である。 – Nick

答えて

22

:行1、列2、ここで結果を選択することになる

  • students[1,2]単一の細胞であろう。

      :あなたはこのように、値のリストを、複数の行または列を選択使用したい場合は
    • students[1,]行1のすべてを選択することになり、students[,2]は列2

    のすべてを選択することになります

  • students[c(1,3,4),]は、行1、3と4を選択することになる
  • students[c("stu1", "stu2"),]stu1stu2という名前の行を選択することになります。

希望すると助かります。

+2

抽出する行と列が連続している場合、学生[]も使用できます。例えば; students [11:20、2:10]は11行目から20行目と2行目から10行目を選択します。ただし、行名または列名を指定する必要がある場合、students [c( "rowname1"、 "rowname2"、... )、c( "colname1"、 "colname2" ..)を使用できます。 –

1
df <- data.frame(x=rnorm(10), y=rnorm(10)) 
rownames(df) <- letters[1:10] 
df[c('a','b'),] 
3

また、これを使用することができます。私の意見では

DF[paste0("stu",c(2,3,5,9)), ] 
関連する問題