R-variables

提供:Dev Guides
移動先:案内検索

R-変数

変数は、プログラムが操作できる名前付きストレージを提供します。 Rの変数は、原子ベクトル、原子ベクトルのグループ、または多くのRobjectの組み合わせを格納できます。 有効な変数名は、文字、数字、ドットまたは下線文字で構成されます。 変数名は、文字で始まるか、数字が続かないドットで始まります。

Variable Name Validity Reason
var_name2. valid Has letters, numbers, dot and underscore
var_name% Invalid Has the character '%'. Only dot(.) and underscore allowed.
2var_name invalid Starts with a number

var_name,.

var.name

valid Can start with a dot(.) but the dot(.)should not be followed by a number.
.2var_name invalid The starting dot is followed by a number making it invalid.
_var_name invalid Starts with _ which is not valid

変数の割り当て

変数には、左向き、右向き、および等しい演算子を使用して値を割り当てることができます。 変数の値は、* print()または cat()*関数を使用して出力できます。 * cat()*関数は、複数のアイテムを連続印刷出力に結合します。

# Assignment using equal operator.
var.1 = c(0,1,2,3)

# Assignment using leftward operator.
var.2 <- c("learn","R")

# Assignment using rightward operator.
c(TRUE,1) -> var.3

print(var.1)
cat ("var.1 is ", var.1 ,"\n")
cat ("var.2 is ", var.2 ,"\n")
cat ("var.3 is ", var.3 ,"\n")

上記のコードを実行すると、次の結果が生成されます-

[1] 0 1 2 3
var.1 is  0 1 2 3
var.2 is  learn R
var.3 is  1 1

-ベクトルc(TRUE、1)には、論理クラスと数値クラスが混在しています。 したがって、論理クラスは数値クラスに強制され、TRUEが1になります。

変数のデータ型

Rでは、変数自体はどのデータ型でも宣言されず、R-オブジェクトに割り当てられたオブジェクトのデータ型を取得します。 したがって、Rは動的に型指定された言語と呼ばれます。つまり、プログラムで変数を使用するときに、同じ変数の変数のデータ型を何度も変更できます。

var_x <- "Hello"
cat("The class of var_x is ",class(var_x),"\n")

var_x <- 34.5
cat("  Now the class of var_x is ",class(var_x),"\n")

var_x <- 27L
cat("   Next the class of var_x becomes ",class(var_x),"\n")

上記のコードを実行すると、次の結果が生成されます-

The class of var_x is  character
   Now the class of var_x is  numeric
      Next the class of var_x becomes  integer

変数を見つける

ワークスペースで現在使用可能なすべての変数を知るには、* ls()*関数を使用します。 また、ls()関数は、パターンを使用して変数名を照合できます。

print(ls())

上記のコードを実行すると、次の結果が生成されます-

[1] "my var"     "my_new_var" "my_var"     "var.1"
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname"

-環境で宣言されている変数に応じたサンプル出力です。

ls()関数は、パターンを使用して変数名を照合できます。

# List the variables starting with the pattern "var".
print(ls(pattern = "var"))

上記のコードを実行すると、次の結果が生成されます-

[1] "my var"     "my_new_var" "my_var"     "var.1"
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname"
  • dot(。)*で始まる変数は非表示になり、ls()関数の「all.names = TRUE」引数を使用してリストできます。
print(ls(all.name = TRUE))

上記のコードを実行すると、次の結果が生成されます-

[1] ".cars"        ".Random.seed" ".var_name"    ".varname"     ".varname2"
[6] "my var"       "my_new_var"   "my_var"       "var.1"        "var.2"
[11]"var.3"        "var.name"     "var_name2."   "var_x"

変数を削除する

  • rm()*関数を使用して、変数を削除できます。 以下では、変数var.3を削除します。 印刷時に、変数errorの値がスローされます。
rm(var.3)
print(var.3)

上記のコードを実行すると、次の結果が生成されます-

[1] "var.3"
Error in print(var.3) : object 'var.3' not found

すべての変数は、* rm()関数と ls()*関数を一緒に使用して削除できます。

rm(list = ls())
print(ls())

上記のコードを実行すると、次の結果が生成されます-

character(0)