web-dev-qa-db-ja.com

Rのテーブル内の単一要素にアクセスする方法

[〜#〜] r [〜#〜]でテーブルから要素を取得するにはどうすればよいですか。

私のデータは次のようになります。

         V1     V2
1      12.448 13.919
2      22.242  4.606
3      24.509  0.176

等...

基本的に要素を個別に取得したいだけです。すべての[〜#〜] r [〜#〜]ベクトルのような用語と混同されており、個々の要素に到達できるようにしたいだけです。

data[v1][1]のように行1列1列の要素を取得できる関数はありますか?

26
wfbarksdale

それはとても基本的なことなので、あなたはどの本を勉強に使っているのだろうか?試して

data[1, "V1"]  # row first, quoted column name second, and case does matter

最近のダウン投票にもかかわらず、私はフレージングに悔い改めません。 Rには初心者向けの無料の入門資料がたくさんあります: https://cran.r-project.org/other-docs.html

31
42-

?"["ものの要素にアクセスするさまざまな方法をほぼカバーしています。

使用法の下でこれらをリストします:

x[i]
x[i, j, ... , drop = TRUE]
x[[i, exact = TRUE]]
x[[i, j, ..., exact = TRUE]]
x$name
getElement(object, name)

x[i] <- value
x[i, j, ...] <- value
x[[i]] <- value
x$i <- value

2番目の項目は目的に十分です

Argumentsの下では、[引数iおよびjは、数値、文字、または論理値です。

したがって、これらは機能します:

data[1,1]
data[1,"V1"]

これと同様に:

data$V1[1]

データフレームはベクトルのリストであることに留意してください。

data[[1]][1]
data[["V1"]][1]

両方とも機能します。

だから、それはいくつかのことで起こっている。ヘルプページの下部にある例を1行ずつ入力することをお勧めします(はい、実際には一度に1行ずつすべてを入力し、それらがすべて何をするかを確認してください。コピーペーストではなくタイピングは、メモリにコミットするのに役立つ重要な部分です。)

16
Glen_b

上記のものほど完璧ではないかもしれませんが、これはあなたが探していたものだと思います。

data[1:1,3:3]    #works with positive integers
data[1:1, -3:-3] #does not work, gives the entire 1st row without the 3rd element
data[i:i,j:j]    #given that i and j are positive integers

ここでは、インデックス作成は1から機能します。つまり、

data[1:1,1:1]    #means the top-leftmost element
1
Sudutt Harne