6
1つの列のみを持つデータフレームをフィルタリングしようとしています。これはとても似返されるベクタに結果:私は実際に欲しい1列のデータフレームをフィルタリングする
single.c <- data.frame(col1=c(1,2,3,4,5), row.names=C("r1","r2","r3","r4","r5"))
single.c[single.c$col1 > 2,]
[1] 3 4 5
は、それが複数列のデータフレームのためにあるように、データが返されます。
multi.c <- data.frame(col1=c(1,2,3,4,5), col2=c(1,2,3,4,5), row.names=c("r1","r2","r3","r4","r5"))
multi.c[multi.c$col2 > 2,]
col1 col2
r3 3 3
r4 4 4
r5 5 5
私はそれを返すために理にかなって見ることができますもし他の列がない場合はベクトルを返しますが、一般的には、その行に与えられた行が何であるかを確認したいと考えています。なぜこのようなことが起こりますか?rownamesを含む結果にデータフレームの形状を維持する簡単な方法はありますか?
ありがとうございました。私は、ドキュメントが '? '[''! – MattLBeck
素晴らしいもの!私はいつも、既存のdata.frameから単一の列を抽出してdata.frameを取得する方法を疑問に思ってきました!私は同じことをするdata.frame(col1 = multi.col $ col1、row.names = rownames(multi.col))を使用しています!ドー! –