2018-11-14
阅读量:
790
R中“<-”和“=”相等吗?
运算符<-和=都可以
分配到评估它们的环境中。运算符<-
可以在任何地方使用,而运算符=
只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为支撑表达式列表中的子表达式之一。
这两个运算符之间差异的可以理解为:
df <- data.frame(
a = rnorm(10),
b <- rnorm(10)
)
对于第一个元素,R已经赋值和正确的名称,而第二个元素的名称看起来有点奇怪。
str(df)
# 'data.frame': 10 obs. of 2 variables:
# $ a : num 0.6393 1.125 -1.2514 0.0729 -1.3292 ...
# $ b....rnorm.10.: num 0.2485 0.0391 -1.6532 -0.3366 1.1951 ...
下面参考R使用手册中R的运算符说明。
参数
x
变量名(可能是引用的)。
value
要分配的值x
。
详情
有三种不同的赋值运算符:其中两种具有向左和向右的形式。
操作员<-
并=
分配到评估它们的环境中。运算符<-
可以在任何地方使用,而运算符=
只允许在顶层(例如,在命令提示符下键入的完整表达式中)或作为支撑表达式列表中的子表达式之一。
运营商<<-
和->>
通常只在函数中使用的,并导致通过亲环境进行分配的变量被的现有定义的搜索。如果找到这样的变量(并且其绑定未被锁定),则重新定义其值,否则在全局环境中进行赋值。请注意,它们的语义与S语言的语义不同,但与R的作用域规则一起使用时很有用 。有关更多详细信息和示例,请参阅“R语言定义”手册。
在所有赋值运算符表达式中,x
可以是定义要替换的对象的一部分的名称或表达式(例如, z[[1]]
)。句法名称不需要引用,但它可以(最好通过反引号)。
左侧的赋值<- = <<-
组从右到左,另一个从左到右。
value
值。因此可以使用a <- b <- c <- 6
。
0.0000
0
1
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
0条评论
0条评论
1条评论