我想知道 R 语言中的赋值是如何工作的。
考虑以下 R shell 会话:
> x <- c(5, 6, 7)
> x[1] <- 10
> x
[1] 10 6 7
>
我完全理解。创建向量 (5, 6, 7) 并将其绑定到
符号“x”。之后,'x' 会反弹到新向量 (10, 6, 7),因为向量
是不可变的数据结构。
但这里发生了什么:
> c(4, 5, 6)[1] <- 10
Error in c(4, 5, 6)[1] <- 10 :
target of assignment expands to non-language object
>
or here:
> f <- function() c(4, 5, 6)
> f()[1] <- 10
Error in f()[1] <- 10 : invalid (NULL) left side of assignment
>
在我看来,只能为命名数据结构(如“x”)赋值。
我之所以问这个问题是因为我尝试实现R语言核心但我不确定
如何处理此类任务。
提前致谢
在我看来,只能为命名数据结构(如“x”)赋值。
这正是文档的目的?"<-"
says:
描述:
Assign a value to a name.
x[1] <- 10
不使用与以下相同的功能x <- c(5, 6, 7)
。前者调用[<-
而后者调用<-
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)