我通常会做一个标准的reprex、SO post、冲洗和重复,但这是一个很难复制的。我会尽量描述我的问题。
背景
我正在尝试在 R 中构建一个自定义包,我简单地称之为myTools
. 构建运行没有错误,并且所有功能都可以正常工作(+/- 一些我需要完善的东西)。它只是我发现对我的工作有帮助的一组函数。我有一个特定的函数get_data()
,它读取一个 CSV 文件并清理它(它是一个人类可读但完全不整洁的数据集)。该函数对其进行清理并使数据整洁(例如,将 Invoice 转换为整洁的数据集)。
问题
每次我编译包并测试函数get_data()
时,R 都会以某种方式运行该函数的旧版本。我已经手动逐一运行了函数中的行,代码的结果没有错误并返回预期的整洁数据集。get_data()
但是,如果我在控制台中调用已编译的,则会调用旧版本的函数。
笔记
我在函数中添加了一条简单的线print("Hello Bob!")
。构建和安装后它不会显示在输出中。再一次,更多的证据表明 R 似乎正在使用我的函数的一些较旧的源并且正在编译那个。
pkgbuild::find_rtools()
返回TRUE
我关闭了构建项目,打开了一个新的 RStudio/R 会话。将我的库加载到一个空白脚本文件中。在 ctrl-click 函数上get_data()
,RStudio 确实将我带到了该函数的旧版本。
预期成绩
get_data()
在控制台/脚本中调用的新编译版本。
任何提示,尝试的想法表示赞赏。谢谢!