2017-04-23 60 views
0

我想R来使用循环功能与下面的代码回路:我如何使用()

pc01 <- qcc(matrix(cbind(dta02[1:length(dta02)-1], dta02[2:length(dta02)]), ncol = 2), type = "R") 
pc02 <- qcc(matrix(cbind(dta02[1:length(dta02)-1], dta02[2:length(dta02)]), ncol = 2), type = "R") 
pc03 <- qcc(matrix(cbind(dta03[1:length(dta03)-1], dta03[2:length(dta03)]), ncol = 2), type = "R") 

为了使其容易,我用了“功能”

myqccF <- function(n) 
{ 
qcc(matrix(cbind(n[1:length(n)-1], n[2:length(n)]), ncol = 2), type = "R") 
} 

然后,我如何使用函数'myqccF'来创建循环,如下面的代码所示?

qc01 <- myqccF(dta01) 
qc02 <- myqccF(dta02) 
qc03 <- myqccF(dta03) 
+1

您可以在paste0 for循环中使用assign函数。可能是这样的: (i in 1:3)temp <-paste0(“dta0”,i) assign(paste0(“qcc0”,i),myqccF(temp)) } }但您可能需要在函数定义的末尾添加'return'函数。 – Mons2us

回答

0

你还有一个循环,现在它是一个循环,其中包含你的函数。

for (i in 1:3) assign(paste0("qc0", i), myqccF(get(paste0("qc0", i))))