×

R 教程

R语言 概述R语言 环境设置R语言 基本语法R语言 数据类型R语言 变量R语言 运算符R语言 决策R语言 包R语言 循环R语言 数据重塑R语言 函数R语言 字符串R语言 向量R语言 列表R语言 矩阵R语言 数组R语言 因子R语言 数据帧

R语言 图表

R语言 条形图R语言 箱线图R语言 直方图R语言 折线图R语言 散点图R语言 饼状图

R语言 数据接口

R语言 CSV文件R语言 Excel文件R语言 二进制文件R语言 XML文件R语言 JSON文件R语言 Web数据R语言 数据库

R语言 统计示例

R语言 平均值,中位数和模式R语言 线性回归R语言 多重回归R语言 逻辑回归R语言 标准分布R语言 二项分布R语言 泊松回归R语言 协方差分析R语言 时间序列分析R语言 非线性最小二乘R语言 决策树R语言 随机森林算法R语言 生存分析R语言 卡方检验

R语言 相关资源

R语言 外部资源R语言 相关讨论R语言 面试题

R语言 变量


变量为我们提供了我们的程序可以操作的命名存储。 R语言中的变量可以存储原子向量,原子向量组或许多Robject的组合。 有效的变量名称由字母,数字和点或下划线字符组成。 变量名以字母或不以数字后跟的点开头。

变量名 合法性 原因
var_name2. 有效 有字母,数字,点和下划线
VAR_NAME% 无效 有字符'%'。只有点(.)和下划线允许的。
2var_name 无效 以数字开头
.var_name,
var.name
有效 可以用一个点(.),但启动点(.),不应该后跟一个数字。
.2var_name 无效 起始点后面是数字使其无效。
_var_name 无效 开头_这是无效的

变量赋值

可以使用向左,向右和等于运算符来为变量分配值。 可以使用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 ,"
")
cat ("var.2 is ", var.2 ,"
")
cat ("var.3 is ", var.3 ,"
")

当我们执行上面的代码,它产生以下结果 -

[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),"
")

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

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

当我们执行上面的代码,它产生以下结果 -

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"    

以点(.)开头的变量被隐藏,它们可以使用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。 打印时,抛出变量错误的值。

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)

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)