Looking for r Answers? Try Ask4KnowledgeBase
Looking for r Keywords? Try Ask4Keywords

R Languageサブセッティング


前書き

Rオブジェクトが与えられている場合、そのオブジェクトに含まれるデータの1つ以上の部分について別個の分析が必要な場合があります。特定のオブジェクトからデータのこれらの部分を取得するプロセスは、 subsettingと呼ばれます。

備考

値がありません:

欠損値( NAとサブセットに使用S) [リターンNAのでNA指数

未知の要素を選択するので、対応する要素にNAが返されます。

NAの「デフォルト」タイプは、サブセット化に使用される「論理」ベクトルがサブセット化されたオブジェクトの長に一致するようにリサイクルされることを意味する「論理」(タイプtypeof(NA) )である。そうx[NA]に相当するx[as.logical(NA)]に相当するx[rep_len(as.logical(NA), length(x))]と、これにより、欠落値を返す( NAx各要素について。例として:

x <- 1:3
x[NA]
## [1] NA NA NA

「数字」/「整数」で索引付けしながら、 NA 、単一のピックNA (各要素NAインデックス内を):

x[as.integer(NA)]
## [1] NA

x[c(NA, 1, NA, NA)]
## [1] NA  1 NA NA

範囲外のサブセット:

[ 1つの引数が渡された[演算子]は、 > length(x)インデックスを許可し、アトミックベクトルの場合はNA 、ジェネリックベクトルの場合はNULLNULL 。対照的に、 [[場合と[複数の引数が渡され(すなわち、範囲外のサブセットを用いてオブジェクトのlength(dim(x)) > 2 )エラーが返さです。

(1:3)[10]
## [1] NA
(1:3)[[10]]
## Error in (1:3)[[10]] : subscript out of bounds
as.matrix(1:3)[10]
## [1] NA
as.matrix(1:3)[, 10]
## Error in as.matrix(1:3)[, 10] : subscript out of bounds
list(1, 2, 3)[10]
## [[1]]
## NULL
list(1, 2, 3)[[10]]
## Error in list(1, 2, 3)[[10]] : subscript out of bounds

この動作は、オブジェクトの「名前」属性で一致しない「文字」ベクトルでサブセット化する場合も同じです。

c(a = 1, b = 2)["c"]
## <NA> 
##   NA 
list(a = 1, b = 2)["c"]
## <NA>
## NULL

ヘルプトピックス:

詳細については、「 ?Extract 」を参照してください。

サブセッティング 関連する例