R Vector

この記事では、Rプログラミングのベクトルについて学びます。 それらを作成し、さまざまな方法を使用して要素にアクセスし、プログラムでそれらを変更する方法を学びます。

VectorはRの基本的なデータ構造で、同じ型の要素が含まれています。 データ型には、logical、integer、double、character、complexまたはrawを使用できます。

ベクトルの型はtypeof()関数で確認できます。

ベクトルのもう一つの重要な特性はその長さです。 これはベクトル内の要素の数であり、関数length()で確認できます。

Rでベクトルを作成するには?

ベクトルは、通常、c()関数を使用して作成されます。

Rプログラミングにおけるベクトル

ベクトルは同じ型の要素を持たなければならないので、この関数は要素が異なる場合、要素を同じ型に強制しようとします。

型変換は、論理型から整数型、double型から文字型への下位型から上位型への型変換です。

> x <- c(1, 5, 4, 9, 0)> typeof(x) "double"> length(x) 5> x <- c(1, 5.4, TRUE, "hello")> x "1" "5.4" "TRUE" "hello"> typeof(x) "character"

連続する数値のベクトルを作成する場合、:演算子は非常に便利です。

例1:演算子

> x <- 1:7; x 1 2 3 4 5 6 7> y <- 2:-2; y 2 1 0 -1 -2

を使用してベクトルを作成するより複雑なシーケンスは、間隔内のポイント数やステップサイズの定義など、seq()関数を使用して作成できます。

例2:seq()関数を使用してベクトルを作成する

> seq(1, 3, by=0.2) # specify step size 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0> seq(1, 5, length.out=4) # specify length of the vector 1.000000 2.333333 3.666667 5.000000

ベクトルの要素にアクセスする方法は?

ベクトルの要素には、ベクトルインデックスを使用してアクセスできます。 索引付けに使用されるベクトルは、論理ベクトル、整数ベクトル、または文字ベクトルです。

整数ベクトルをインデックスとして使用する

Rのベクトルインデックスは、インデックスが0から始まるほとんどのプログラミング言語とは異なり、1から始まります。

整数のベクトルをインデックスとして使用して、特定の要素にアクセスできます。

負の整数を使用して、指定された要素を除くすべての要素を返すこともできます。

しかし、正と負の整数を混在させることはできませんが、インデックスと実数は、使用される場合、整数に切り捨てられます。

> x 0 2 4 6 8 10> x # access 3rd element 4> x # access 2nd and 4th element 2 6> x # access all but 1st element 2 4 6 8 10> x # cannot mix positive and negative integersError in x : only 0's may be mixed with negative subscripts> x # real numbers are truncated to integers 2 4

論理ベクトルをインデックスとして使用

インデックスに論理ベクトルを使用すると、論理ベクトルがTRUEである位置が返されます。

この便利な機能は、以下に示すようにベクトルのフィルタリングに役立ちます。

> x -3 3> x # filtering vectors based on conditions -3 -1> x 3

上記の例では、式x>0は論理ベクトル(FALSE, FALSE, FALSE, TRUE)を生成し、インデックス作成に使用します。

文字ベクトルをインデックスとして使用

このタイプのインデックスは、名前付きベクトルを扱うときに便利です。 ベクトルの各要素に名前を付けることができます。

> x <- c("first"=3, "second"=0, "third"=9)> names(x) "first" "second" "third" > xsecond 0 > xfirst third 3 9

Rのベクトルを変更するには?

代入演算子を使ってベクトルを修正することができます。

上記で説明した手法を使用して、特定の要素にアクセスして変更することができます。

要素を切り捨てたい場合は、再割り当てを使用できます。

> x -3 -2 -1 0 1 2> x <- 0; x # modify 2nd element -3 0 -1 0 1 2> x <- 5; x # modify elements less than 0 5 0 5 0 1 2> x <- x; x # truncate x to first 4 elements 5 0 5 0

ベクトルを削除するには?

単純にNULLを割り当てることで、ベクトルを削除できます。

> x -3 -2 -1 0 1 2> x <- NULL> xNULL> xNULL

コメントを残す

メールアドレスが公開されることはありません。