我对R有些陌生。当我写一个涉及一些算术的函数时,我得到了一个令人惊讶的结果。
SubtractSeven <- function(x) {
return (x - 7)
}
SubtractSeven(9)下面是输出:
> SubtractSeven <- function(x) {
+ return (x - 7)
+ }
> SubtractSeven(9)
Error in `-`(x, 7) : could not find function "-"然后,我在控制台中尝试了一些算术运算符,得到的结果如下:
> 5+4
[1] 9
> 5*4
[1] 20
> 5/4
[1] 1.25
> 5^4
[1] 625
> 5-4
Error in `-`(5, 4) : could not find function "-"
> -5
Error in `-`(5) : could not find function "-"
> +5
[1] 5世界上到底发生了什么!?我加载了"bigmemory“和"seqinr”包。
发布于 2020-05-10 07:22:18
如果需要在当前会话中使用-,则可以使用.Primitive
.Primitive("-")(7, 5)在函数中,它将是
SubtractSeven <- function(x) {
.Primitive("-")(x, 7)
}发布于 2020-05-10 07:57:36
你有没有复制-粘贴代码?尝试删除减号,然后由您重新引入它。有时,当你从网页复制代码时,它会引入一个"─“而不是"-”。
发布于 2020-05-10 11:28:46
如果会话中的'-'已被替换为其他内容,则可以使用match.fun。
SubtractSeven <- function(x) match.fun('-')(9, x)
SubtractSeven(7)
#[1] 2
SubtractSeven(5)
#[1] 4https://stackoverflow.com/questions/61704598
复制相似问题