サーチ…


前書き

データオブジェクトのクラスは、どの関数がその内容を処理するかを決定します。 class属性は文字ベクトルであり、オブジェクトはゼロ、1つ以上のクラスを持つことができます。クラス属性がない場合でも、オブジェクトのmodeによって決まる暗黙のクラスが存在しmode 。クラスは関数classで検査でき、 class<- functionで設定または変更できます。 S3クラスのシステムは、Sの歴史の初期に確立されました。より複雑なS4クラスのシステムが後に確立された

備考

オブジェクトの "タイプ"を検査するためのいくつかの関数があります。そのような最も有用な関数はclassですが、時にはオブジェクトのmodeを調べる必要があります。私たちは、「タイプ」を議論しているので、一つはと思うかもしれないtypeof有用であろうが、一般からの結果mode明示的な「クラス」を持つオブジェクトは-attributeは、関数ディスパッチが決定された「暗黙のクラス」によって決定されますので、より便利になります彼らのモードによって。

ベクトル

Rで利用できる最も単純なデータ構造はベクトルです。 c()関数を使用すると、数値、論理値、および文字列のベクトルを作成できます。例えば:

c(1, 2, 3)
## [1] 1 2 3
c(TRUE, TRUE, FALSE)
## [1]  TRUE  TRUE FALSE
c("a", "b", "c")
## [1] "a" "b" "c"

また、 c()関数を使ってベクトルに参加することもできます。

x <- c(1, 2, 5)
y <- c(3, 4, 6)
z <- c(x, y)
z
## [1] 1 2 5 3 4 6

ベクトルを作成する方法のより精巧な処理は、 「ベクトルの作成」トピックで見つけることができます

クラスを検査する

Rのすべてのオブジェクトにはクラスが割り当てられます。 class()を使用してオブジェクトのクラスを検索し、 str()を使用して、構造に含まれるクラスを含む構造を表示することができます。例えば:

class(iris)
[1] "data.frame"

str(iris)
'data.frame':    150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 ...

class(iris$Species)
[1] "factor"

虹彩にはdata.frameというクラスがあり、 str()を使うと内部のデータを調べることができます。虹彩データフレーム内の変数種別は、クラスファクタであり、クラス数値である他の変数とは対照的である。 str()関数は変数の長さも提供し、最初の2つの観測値を表示しますが、 class()関数はオブジェクトのクラスのみを提供します。

ベクトルとリスト

Rのデータはベクトルに格納されます。典型的なベクトルは、すべて同じ記憶モード(例えば、文字ベクトル、数値ベクトル)を有する一連の値である。参照してください?atomic :原子暗黙のクラスとそれに対応するストレージモードの詳細については、 "logical", "integer", "numeric" (synonym "double"), "complex", "character""raw" 。多くのクラスは、上にclass属性を持つ単原子ベクトルです。

x <- 1826
class(x) <- "Date"
x 
# [1] "1975-01-01"
 x <- as.Date("1970-01-01")
 class(x)
#[1] "Date"
 is(x,"Date")
#[1] TRUE
 is(x,"integer")
#[1] FALSE
 is(x,"numeric")
#[1] FALSE
  mode(x)
#[1] "numeric"

リストは特殊なタイプのベクトルであり、各要素は何か、別のリストであってもよく、リストのR項は「再帰ベクトル」です。

mylist <- list( A = c(5,6,7,8), B = letters[1:10], CC = list( 5, "Z") )

リストには2つの非常に重要な用途があります。

  • 関数は単一の値しか返すことができないので、複雑な結果をリストに返すのが一般的です。

    f <- function(x) list(xplus = x + 10, xsq = x^2)
    
    f(7)
    # $xplus
    # [1] 17
    # 
    # $xsq
    # [1] 49
    
  • リストは、 データフレームの基礎となる基本クラスでもあります 。フードの下では、データフレームはすべて同じ長さを持つベクトルのリストです。

    L <- list(x = 1:2, y = c("A","B"))
    DF <- data.frame(L)
    DF
    #   x y
    # 1 1 A
    # 2 2 B
    is.list(DF)
    # [1] TRUE
    

再帰的ベクトルの他のクラスはR式であり、これは「言語」 - オブジェクト



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow