之前我问过这个,但也许我没有问到这一点。
我想从我的Master-R文件中运行其他很长的R文件。第一眼看到source()
很容易实现。
关键是,它们太长了,我不想运行所有这些,只是它的某个部分。我之前发帖的人向我展示了这个隐藏的gem,但两者都是从A点到B点。
我想要的是从我的文件中运行另一个文件,从第x行开始,然后运行到第x + z行,跳过一定数量的行,然后继续从第y行运行相同的文件到y + z 。
我附加的链接中的解决方案很有效,但是我不能跳过行(这个编码超出了我的技能),没有创建另一个功能并设置更多的起点和终点。
是否可以调用类似source(df.R, excludeLine(1:6, 20, 30:end)
的内容?
答案 0 :(得分:0)
Just slightly modifying this very excellent answer:应该有用。
sourcePartial <- function(fn,startTag1='#from here1',endTag1='#to here1', startTag2='#from here2',endTag2='#to here2') {
lines <- scan(fn, what=character(), sep="\n", quiet=TRUE)
st1<-grep(startTag1,lines)
en1<-grep(endTag1,lines)
st2<-grep(startTag2,lines)
en2<-grep(endTag2,lines)
tc <- textConnection(lines[c((st1+1):(en1-1),(st2+1):(en2-1))])
source(tc)
close(tc)
}
但实际上,下次你自己去吧,你可能会学习......