여러 번 적용해야하는 코드를 작성 중입니다. 나는 많은 것을 이미 기능에 정돈 해 놓았습니다. 그러나 나는 여전히 예를 들어, code(1)
, code(2)
, code(3)
등의 긴 목록으로 끝납니다.반복 기능 (또는 이와 유사)
시퀀스 명령과 루프를 사용하여 시도했지만 (나쁘지 만) 결국에는 포기해야했습니다. 이 코드를 반복해서 정리할 방법이 있습니까? (필요한 경우 모든 수정 된 기능을 붙여 넣을 수 있지만 관련성이 없어야합니다 (희망 사항)). 고맙습니다!
library(leaps)
library(grid)
library(gridBase)
source("J:/R/Functions/function_leapsSummary.R")
source("J:/R/Functions/function_plotregsubsetsMOD.R")
nbestfunc <- function(D, E, G){
regsubsets(D~.,
data=E,
nbest=G)
}
setwd("J:/Academic papers/Dissertation journal paper/Version 3/New analysis/R code/Full data/SpringLIFE-ChalkRiver")
SpringLIFEChalkRiver <- read.csv("SpringLIFE-ChalkRiver.csv",header=T)
attach(SpringLIFEChalkRiver)
SPR_Q_PCA <- SpringLIFEChalkRiver[,c(3, 7, 12, 14, 16, 18)]
setwd("J:/R/Leaps")
##nbest
nb1 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 1)
nb2 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 2)
nb3 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 3)
nb4 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 4)
nb5 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 5)
nb6 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 6)
nb7 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 7)
nb8 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 8)
nb9 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 9)
nb10 <- nbestfunc(SpringChalkLife, SPR_Q_PCA, G = 10)
##df from captions and file names
NAMES <- cbind(c(
"Spring_VPCA_nbest=1",
"Spring_VPCA_nbest=2",
"Spring_VPCA_nbest=3",
"Spring_VPCA_nbest=4",
"Spring_VPCA_nbest=5",
"Spring_VPCA_nbest=6",
"Spring_VPCA_nbest=7",
"Spring_VPCA_nbest=8",
"Spring_VPCA_nbest=9",
"Spring_VPCA_nbest=10"),
c(
"J:/R/Leaps/Spring_VPCA_nbest=1.png",
"J:/R/Leaps/Spring_VPCA_nbest=2.png",
"J:/R/Leaps/Spring_VPCA_nbest=3.png",
"J:/R/Leaps/Spring_VPCA_nbest=4.png",
"J:/R/Leaps/Spring_VPCA_nbest=5.png",
"J:/R/Leaps/Spring_VPCA_nbest=6.png",
"J:/R/Leaps/Spring_VPCA_nbest=7.png",
"J:/R/Leaps/Spring_VPCA_nbest=8.png",
"J:/R/Leaps/Spring_VPCA_nbest=9.png",
"J:/R/Leaps/Spring_VPCA_nbest=10.png"))
##calling function for each
leapsSummary(nb1, B = NAMES[1,1], C = NAMES[1,2])
dev.off()
leapsSummary(nb2, B = NAMES[2,1], C = NAMES[2,2])
dev.off()
leapsSummary(nb3, B = NAMES[3,1], C = NAMES[3,2])
dev.off()
leapsSummary(nb4, B = NAMES[4,1], C = NAMES[4,2])
dev.off()
leapsSummary(nb5, B = NAMES[5,1], C = NAMES[5,2])
dev.off()
leapsSummary(nb6, B = NAMES[6,1], C = NAMES[6,2])
dev.off()
leapsSummary(nb7, B = NAMES[7,1], C = NAMES[7,2])
dev.off()
leapsSummary(nb8, B = NAMES[8,1], C = NAMES[8,2])
dev.off()
leapsSummary(nb9, B = NAMES[9,1], C = NAMES[9,2])
dev.off()
leapsSummary(nb10, B = NAMES[10,1], C = NAMES[10,2])
# STR (sum_list)로부터
출력
List of 10
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
$ : Named int 2
..- attr(*, "names")= chr "RStudioGD"
감사합니다. 나는 확실히 그것을 생각해 낼 수 없었다. 루프를 가진 나의 능력은 아직도 조금은 iffy이다. 불행히도 여전히 제대로 작동하지 않습니다. 코드는 훌륭하게 전송되지만 알 수없는 이유로 이미지를 실제로 생성하지는 않습니다. @Imo가 제공 한 것과 동일한 문제가 있습니다. – Visser
for 루프를 사용하면 for (i in : length (sum_list)) {print (sum_list [[i]])}'에 도움이 될 수 있습니다. 만약 당신이 내게 아마도 str (sum_list) 출력을 얻고 있고 더 많은 도움을 줄 수있는 오류 메시지를주고 싶습니다. – Nate
불행히도 그것은 도움이되지 않습니다. 이전처럼 똑같은 결과가납니다. 게시물에 str (sum_list)에 출력을 추가 하겠지만, 얼마나 유용한 지 모르겠습니다. (출력물은 RStudio에 있지만, 보통 R에서도 시도해 봤는데, 똑같은 것을 넣는다.) – Visser