我有一个很长的脚本 R,它绘制了非常复杂的数据。我只使用绘图来直观地了解我在做什么,但我可以在没有绘图的情况下计算结果,显然不绘制任何东西会使事情变得更快。然而,有时我仍然需要可视化程序所做的工作以继续调试它。
为了实现这个绘图“开或关”开关,我遵循这个策略。
对于具有与脚本的绘图功能相关的命令的每一行,我#toplot
在每个相关行的末尾都有一个特定的注释标记。使用正则表达式替换的力量,我然后使用以下命令注释/取消注释这些行。
示例代码:
a <- c(1:10)
b <- a/sin(a)
png('sin.png') #toplot
plot(b) #toplot
dev.off() #toplot
print(b)
要评论“标记”行:
:%s/.\+#toplot/###commline###\0/g
我明白了:
a <- c(1:10)
b <- a/sin(a)
###commline### png('sin.png') #toplot
###commline### plot(b) #toplot
###commline### dev.off() #toplot
print(b)
要取消注释:
:%s/###commline###//g
我明白了:
a <- c(1:10)
b <- a/sin(a)
png('sin.png') #toplot
plot(b) #toplot
dev.off() #toplot
print(b)
我不是计算机科学家,所以我不知道是否有更好、更优雅的方式来执行这些操作。
编辑:重要的是要提到,为了绘制我的数据,我需要经过多轮计算和转换,以便不同类型的数据适合绘图设备。为了执行这些操作,我使用历史记录,我根据需要上下移动。