小编Giu*_*ppe的帖子

R,修改包中的函数后,修改被忽略

我在 RStudio 中创建了一个包含一些自定义函数的包。

当我更改此包中包含的函数中的某些内容时,我使用“构建”选项卡中的“构建和重新加载”来重建包,希望此操作“更新”它。

这通常可以完美运行。然而,有一种功能没有发生。如果我打开function.R文件,修改就在那里;但是,当我从控制台或脚本调用它时,会加载旧版本。我尝试了一些简单的方法,例如重新启动和“清理和重建”。我尝试删除它,重建并再次添加它,但即使在这种情况下,令人惊讶的是,旧版本也被加载了。

我注意到这个函数看起来与包中的其他函数不同的唯一一件事是: 截屏 我试图调查这个,但我仍然缺乏必要的一般理解,我什至不确定这种差异是否真的与问题有关。

备注1:全局环境为空,所以不屏蔽函数。备注2:search()路径是(包名是SDA,在第二位):

> search()
 [1] ".GlobalEnv"        "package:SDA"       "package:splines"   "tools:rstudio"     "package:stats"     "package:graphics"  "package:grDevices" "package:utils"    
 [9] "package:datasets"  "package:methods"   "Autoloads"         "package:base" 
Run Code Online (Sandbox Code Playgroud)

注意:我正在使用包“devtools”进行开发。

r function devtools package rstudio

6
推荐指数
1
解决办法
2610
查看次数

Oracle SQL Developer:如果出现错误,则停止脚本运行

SQL Developer 的默认行为是即使遇到错误也继续运行脚本中的后续命令。是否可以让它停止,或者询问用户是否继续(例如,像在 SQL Workbench 中一样)?

sql oracle error-handling oracle-sqldeveloper

4
推荐指数
1
解决办法
3088
查看次数

Matlab除以0:Inf或-Inf

我无法弄清楚为什么除以0会在以下两种情况下给出不同的结果. amort是一个计算常量摊销计划的函数.我们现在唯一关心的是A的最后一个元素正好是0.

amort = @(r,M) ((1+r).^(0:M)' - (1+r).^M) ./ (1-(1+r).^M)

A = amort(0.03, 20);

>> A(end)==0
ans =
     1
Run Code Online (Sandbox Code Playgroud)

看起来很奇怪的是:

>> 1/0
ans =
   Inf
>> 1/A(end)
ans =
  -Inf
Run Code Online (Sandbox Code Playgroud)

然而

>> sign(A(end))
ans =
     0
>> 1/abs(A(end))
ans =
   Inf
Run Code Online (Sandbox Code Playgroud)

这怎么可能,为什么?有某种隐藏的"标志"吗?

matlab division infinite zero divide-by-zero

3
推荐指数
1
解决办法
83
查看次数