2017-12-06 5 views
0

Rのデータフレームのサブセットの行インデックスにアクセスしたいが、情報にアクセスする方法を見つけることができなかった。例えば、場合、私は、データフレームました:サブセットからインデックスを取得R

a <- c(1, 2, 3, 4, 5) 
b <- c(2, 3, 4, 5, 6) 
c <- data.frame(a, b) 

をそして私は、第二列つかむ:私はdを印刷する場合、私は取得

d <- c[2,] 

を:

print(d) 
    a b 
2 2 3 

だから私はRと仮定しますdが元のデータフレームにあった行を何とか保存します!しかし、私は行く場合:その2(行のために)格納されている場所

str(d) 
'data.frame': 1 obs. of 2 variables: 
$ a: num 2 
$ b: num 3 

は、私が見ることができません。その値にアクセスする方法はありますか?

はい、私はこの例ではサブセット化の行番号を既に持っていることを認識しています。しかし、ほとんどの場合、私は論理的にサブセット化していますが、いずれにしても、行インデックスを見つけてそれを関数に渡すことは避けたいと考えています。

+0

'rownames(d)'が動作するはずです。リターンは常に 'character'なので、一部の(極端な)例では、' dat [1、] 'と' dat ["1"、] 'は異なる結果を返すかもしれないことに注意してください。 – r2evans

答えて

1
a <- c(1, 2, 3, 4, 5) 
b <- c(2, 3, 4, 5, 6) 
c <- data.frame(a, b) 
d <- c[2,] 
rownames(d) # "2"; class(rownames(d)) = "character" 
as.numeric(rownames(d)) # 2; class(as.numeric(rownames(d))) = "numeric" 
+0

ありがとうございます。行インデックスが行名として自動的に格納されることは決してありませんでした。 –

関連する問題