R – 变量
变量是为存储特定数据而分配的内存,与变量关联的名称用于绕过此保留块。赋予变量的名称称为其变量名。通常单个变量只存储属于某种数据类型的数据。之所以给他们起这个名字,是因为程序执行时可能会发生变化,因此它会不时变化。
R中的变量
R 编程语言是一种动态类型语言,即 R 语言变量变量没有用数据类型声明,而是采用分配给它们的 R 对象的数据类型。此功能也以Python和PHP等语言显示。
在 R 语言中声明和初始化变量
R 支持三种变量赋值方式:
- 使用相等运算符- 数据从右向左复制。
- 使用向左运算符- 数据从右向左复制。
- 使用向右运算符- 数据从左到右复制。
R 变量语法:
#using equal to operator
variable_name = value
#using leftward operator
variable_name <- value
#using rightward operator
value -> variable_name
示例:在 R 中创建变量
R
# R program to illustrate
# Initialization of variables
# using equal to operator
var1 = "hello"
print(var1)
# using leftward operator
var2 < - "hello"
print(var2)
# using rightward operator
"hello" -> var3
print(var3)
R
var1 = "hello"
print(class(var1))
R
# using equal to operator
var1 = "hello"
# using leftward operator
var2 < - "hello"
# using rightward operator
"hello" -> var3
print(ls())
R
# using equal to operator
var1 = "hello"
# using leftward operator
var2 < - "hello"
# using rightward operator
"hello" -> var3
# Removing variable
rm(var3)
print(var3)
R
# R program to illustrate
# usage of global variables
# global variable
global = 5
# global variable accessed from
# within a function
display = function(){
print(global)
}
display()
# changing value of global variable
global = 10
display()
R
# R program to illustrate
# usage of local variables
func = function(){
# this variable is local to the
# function func() and cannot be
# accessed outside this function
age = 18
print(age)
}
cat("Age is:\n")
func()
输出:
[1] "hello"
[1] "hello"
[1] "hello"
R 变量的命名
命名变量时需要牢记以下规则:
- 有效的变量名由字母、数字、点 (.) 和下划线 (_)字符的组合组成。示例:var.1_ 有效
- 除了点和下划线运算符之外,不允许使用其他特殊字符。示例:var$1 或 var#1 均无效
- 变量可以以字母或点字符开头。示例:.var 或 var 有效
- 变量不应以数字或下划线开头。示例:2var 或 _var 无效。
- 如果变量以点开头,则点之后的下一个内容不能是数字。示例:.3var 无效
变量的重要方法
R 提供了一些有用的方法来对变量执行操作。这些方法用于确定变量的数据类型、查找变量、删除变量等。以下是一些用于处理变量的方法:
类()函数
此内置函数用于确定提供给它的变量的数据类型。要检查的变量作为参数传递给它,它会打印数据类型作为回报。
句法:
class(variable)
例子:
R
var1 = "hello"
print(class(var1))
输出:
[1] "character"
ls()函数
此内置函数用于了解工作区中的所有当前变量。这在一次处理大量变量时通常很有帮助,并有助于防止覆盖其中任何一个。
句法:
ls()
例子:
R
# using equal to operator
var1 = "hello"
# using leftward operator
var2 < - "hello"
# using rightward operator
"hello" -> var3
print(ls())
输出:
[1] "var1" "var2" "var3"
rm()函数
这又是一个内置函数,用于删除工作区中不需要的变量。这有助于清除分配给某些未使用的变量的内存空间,从而为其他变量创造更多空间。要删除的变量的名称作为参数传递给它。
句法:
rm(variable)
例子:
R
# using equal to operator
var1 = "hello"
# using leftward operator
var2 < - "hello"
# using rightward operator
"hello" -> var3
# Removing variable
rm(var3)
print(var3)
输出:
Error in print(var3) : object 'var3' not found
Execution halted
R编程中的变量范围
我们可以找到变量并在需要时访问它的位置称为变量的范围。主要有两种类型的变量作用域:
全局变量:
全局变量是在整个程序执行过程中存在的那些变量。它可以从程序的任何部分更改和访问。
顾名思义,可以从程序的任何部分访问全局变量。
- 它们在程序的整个生命周期中都可用。
- 它们在程序中所有函数或块之外的任何地方声明。
声明全局变量:全局变量通常在所有函数和块之外声明。可以从程序的任何部分访问它们。
R
# R program to illustrate
# usage of global variables
# global variable
global = 5
# global variable accessed from
# within a function
display = function(){
print(global)
}
display()
# changing value of global variable
global = 10
display()
输出:
[1] 5
[1] 10
在上面的代码中,变量“ global”被声明在所有函数之外的程序顶部,因此它是一个全局变量,可以从程序中的任何地方访问或更新。
局部变量:
局部变量是像函数一样只存在于程序的某个部分中并在函数调用结束时释放的那些变量。局部变量不存在于声明它们的块之外,即不能在该块之外访问或使用它们。
声明局部变量:
局部变量在块内声明。
R
# R program to illustrate
# usage of local variables
func = function(){
# this variable is local to the
# function func() and cannot be
# accessed outside this function
age = 18
print(age)
}
cat("Age is:\n")
func()
输出:
Age is:
[1] 18