R-variables
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)