我希望能够通过一套配对变量重复运行相同的函数。我已经阅读过其他文章,并且他们建议使用lapply函数来完成这个过程,但是由于我对如何实施适当的“应用”的理解有限,我无法在这种情况下工作。R/Splus:使用不同变量重复运行一组函数
这是我的代码。您可以看到它正确地创建了运行函数的文本(保存在formula.ccf和formulas.lagplot中)以及赋值的适当变量(保存在varnames中),但是如何实现函数并将它们分配给适当的varname ?
names <- c("aran", "galv", "cc", "sa") #Names of the data vectors
cntr=1
varname <- array("",dim=c(9))
formulas.ccf <- array("",dim=c(9))
formulas.lagplot <- array("",dim=c(9))
for (i in 1:3){
for (j in 2:4) {
varname[cntr] <- paste("ccf",names[i],names[j],sep="_")
formulas.ccf[cntr] <- paste("ccf(mydata$",names[i],", mydata$",names[j],",na.action=na.pass)",sep="")
formulas.lagplot[cntr] <- paste("lagplot2(mydata$",names[i],", mydata$",names[j],",15)",sep="")
cntr<-cntr+1
}
}
varname
formulas.ccf
formulas.lagplot
这里是我希望运行的一组代码;对于这个例子varname =“ccf_aran_galv”,ccf function =“ccf(mydata $ aran,mydata $ galv,na.action = na.pass)”和lagplot函数=“lag.plot2(mydata $ aran_perc,mydata $ galv_perc ,15)“。此代码会为每对变量运行9倍,一旦:
ccf_aran_galv <- ccf(mydata$aran, mydata$galv,na.action=na.pass)
lag.plot2(mydata$aran_perc, mydata$galv_perc, 15)
我卡住了,所以希望得到任何人的帮助。我可以反复写出这段代码,但希望有更小的编码足迹和更大的灵活性。
感谢
你可能想要为'(j在(i + 1):4)'中跳过自对和重复对。 –
好吧,所以这段代码的确让我比我更进一步。猜猜我会深入挖掘数据框,以便了解如何将每个CCF与一个标签相关联。另外,我试图将每对的图形输出发送到它自己的PDF - 用适当的对名称标记,所以我仍然在为如何实现这一点而战。 –