wiz*_*lum 2 r constants vector
我不知道发生了什么,但我似乎无法在向量中添加常量.例如,在控制台c(1,2,3,4)+5中键入会返回15而不是(6,7,8,9).我究竟做错了什么?谢谢您的帮助.
42-*_*42- 14
有人....可能你......重新定义了"+"功能.它很容易做到:
> `+` <- function(x,y) sum(x,y)
> c(1,2,3,4)+5
[1] 15
Run Code Online (Sandbox Code Playgroud)
它很容易修复,只需使用rm():
> rm(`+`)
> c(1,2,3,4)+5
[1] 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
编辑:评论(提出替代可能性,c而不是重新定义为sum)促使我添加有关如何检查和从其他可能性中恢复的信息.您可以使用两种方法来确定表达式中的两个函数中的哪一个c(1,2,3,4) + 5是罪魁祸首.可以输入他们的名字(用反引号括起来+),并注意你是否得到了正确的定义:
> `+`
function (e1, e2) .Primitive("+")
> c
function (..., recursive = FALSE) .Primitive("c")
Run Code Online (Sandbox Code Playgroud)
使用rm罪魁祸首(上面不匹配)仍然是最快的解决方案.使用全局rm是会话中的脑力消耗:
rm(list=ls())
# all user defined objects, including user-defined functions will be removed
Run Code Online (Sandbox Code Playgroud)
退出和重启的建议在某些情况下不起作用.如果退出并保存,将保留当前的函数定义.如果您之前已从发生重新定义的会话中退出并保存,则不保存此会话也不会解决问题.先前会话的结果保存在名为".Rdata"的文件中,并且该文件对于Mac和Windows用户都是不可见的,因为OS文件查看器(Mac的Finder.app或MS的Windows资源管理器)将不会显示以" "我怀疑Linux用户默认会看到它们,因为ls在终端会话中使用会显示它们.(很容易找到改变Mac行为的方法,这就是我运行设备的方式.)删除.Rdata文件在此实例中很有用,以及R会话在启动时崩溃的情况.