我希望能夠通過一套配對變量重複運行相同的函數。我已經閱讀過其他文章,並且他們建議使用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 - 用適當的對名稱標記,所以我仍然在爲如何實現這一點而戰。 –