热线电话:13121318867

登录
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
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子