错误:分配目标扩展为非语言对象

栏目: R语言 · 发布时间: 7年前

内容简介:http://stackoverflow.com/questions/27662162/error-in-my-code-target-of-assignment-expands-to-non-language-object

我收到错误

Error in <my code> : target of assignment expands to non-language object

要么

Error in <my code> : invalid (do_set) left-hand side to assignment

要么

Error in <my code> : invalid (NULL) left side of assignment

这是什么意思,我该如何防止呢?

当您尝试将 assign a value 修改为不存在的变量,或者R不能作为 name

处理时,会出现这些错误.(名称是一个变量类型,用于保存变量名.)

要重现错误,请尝试:

1:2 <- 1
## Error in 1:2 <- 1 : target of assignment expands to non-language object

1 <- 1
## Error in 1 <- 1 : invalid (do_set) left-hand side to assignment

mean() <- 1
## Error in mean() <- 1 : invalid (NULL) left side of assignment

(你可以猜测NULL<- 1返回的三个错误中的哪一个) R的一个鲜为人知的功能是可以为字符串赋值:

"x" <- 1 # same as x <- 1

如果您使用例如 paste 使用更复杂的表达式尝试构造字符串,则此操作不起作用.

paste0("x", "y") <- 1
## Error: target of assignment expands to non-language object

看到

解决方案是使用 assign

assign(paste0("x", "y"), 1)

出现这种情况的常见情况是尝试分配给数据帧列时.通常会尝试将()一起粘贴在分配的左手,即

paste0("my_dataframe$","my_column") <- my_value

通常,这里的最佳解决方案不是诉诸于获取或分配,而是要记住,我们可以使用[or [[operator:

x <- "my_column"
my_dataframe[,x] <- value #or...
my_dataframe[[x]] <- value

类似地,您无法分配给 get 的结果.

get("x") <- 1
## Error in get("x") <- 1 : 
##   target of assignment expands to non-language object

解决方案是

assign("x", 1)

或简单地

"x" <- 1

Using get() with replacement functions 处理更复杂的情况,结合替换功能.

另请参阅 Assignment in R language 的答案,详细介绍了与作业相关的一些奥秘,特别是R语言定义对 Subset Assignment 的描述.

http://stackoverflow.com/questions/27662162/error-in-my-code-target-of-assignment-expands-to-non-language-object


以上所述就是小编给大家介绍的《错误:分配目标扩展为非语言对象》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

断层地带

断层地带

杰弗里·摩尔 (Geoffrey A.moore) 著 / 季晓楠,凌炜 译 / 机械工业出版社 / 2009-1 / 33.00元

从股东权益谈起,并把“股东权益管理”作为根本立场,明确阐述了公司市场价值的内涵:在竞争环境中,公司的市场价值等于在当前和计划的生产经营活动下,未来可预计的收益用风险系数贴现后的现值。断层地带:经济中的危险境地,在这里勇敢的创新者给市场带来了惨烈的竞争,撕杀得天昏地暗。每家公司都处在这样的环境中,但是没有一个管理者能够控制它。一起来看看 《断层地带》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具