我认为这一定是重复的,但我似乎无法在堆栈上找到答案。有没有办法比较同一个 wd 中的两个 R 脚本,看看它们是否相同?
类似:
a <- source("script1.R")
b <- source("script2.R")
identical(a, b)
我不仅仅指每个脚本中的功能,还指所有其他内容,例如注释等。
谢谢
我制作了三个文件(每个文件都以换行符结尾):
iscript.R
script
iscript2.R
script
niscript.R
not script
使用工具中的
md5sum
函数,我得到了 : 的哈希值
tools::md5sum(c("iscript.R", "iscript2.R", "niscript.R"))
iscript.R iscript2.R niscript.R
"95d26f42dccb2ec048a30261e0e2863f" "95d26f42dccb2ec048a30261e0e2863f" "d4bef1be4af7baedd2d69e649feb01d1"
具有相同哈希值的文件是相同的。
要并排比较 2 个 R 脚本并查看颜色差异,您可以使用 在 https://stackoverflow.com/a/53333988/4562326
上找到 @Agile Bean 提供的这个简单且有效的解决方案library(diffr)
diffr(filename1, filename2)
如果您需要并排比较两个或三个脚本。
您可以使用 WinMerge 等开源软件对脚本中的实际文本进行一对一的视觉比较。您将需要保存脚本文本文件以用作输入
更多信息可以在这里找到:https://winmerge.org/downloads/?lang=en
另一种选择是使用 SublimeText: 在 Sublime Text 中比较两个文件的内容
这两个工具都允许您将 diff 文件打印为 PDF。