"d"というデータフレームにcsvファイルを読み込むとします。このデータフレームの最後の2行を印刷したいと思います。私は以下を試しましたが、n-1から始まるすべての内容を印刷しています。誰かが私にこの行動を理解させる助けてもらえますか?これは私のために働いているデータフレームのサブセットの抽出R
> n<-nrow(d)
> n
[1] 153
> subset(d[n:n-1,])
"d"というデータフレームにcsvファイルを読み込むとします。このデータフレームの最後の2行を印刷したいと思います。私は以下を試しましたが、n-1から始まるすべての内容を印刷しています。誰かが私にこの行動を理解させる助けてもらえますか?これは私のために働いているデータフレームのサブセットの抽出R
> n<-nrow(d)
> n
[1] 153
> subset(d[n:n-1,])
は、最後の2行を与えるだろう。
...あなただけの尾
tail(d, 2)
を使用することができます
d <- matrix(1:10,nrow=5)
d
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
d <- as.data.frame(d)
d
V1 V2
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
n <- nrow(d)
> n
[1] 5
d[n:(n-1),] ## Specifying the number of the row inside the brackets.
V1 V2
5 5 10
4 4 9
d[n:n-1,] ## without brackets it will do 5:5 -1 = 4, so printing only the fourth row
V1 V2
4 4 9
不要サブセットはこちら。あなたは[を使用しています。 – mnel
@mnel yeah rite .. :)答えを編集しました。 – user1021713
@mnelはtail()を使うのが最も簡単だろうと思っていますが、あなたの混乱はsubset()とインデックス作成の一般的な仕組みと関係があります。
d[(n:n - 1), ]
が
d[n:(n-1), ]
と同じではありませんので、あなたの例では、どのようにインデックス行列とdata.framesに留意するので、操作の順序を理解することが重要であり、慎重ので、違いを確認してください。 サブセット()関数は、インデックスが論理的指標に基づいて、論理ベクトルを取り出したい行を与える形
subset(object, subset = logicalvector)
を持っています。詳細は「サブセット」を参照してください。
は、私が使用します。 tail(d, 2)
または d[(n-1):n, ]
はそれが
'5ホープ:5-1 [1] 4' ... –