교차 유효성 검사를하고 있습니다. 그래서 저는 데이터를 10 배로 나누고 싶었습니다. 누군가 다음 코드를 게시하고 있습니다.R 교차 유효성 검사
f_K_fold <- function(Nobs,K=10){
rs <- runif(Nobs)
id <- seq(Nobs)[order(rs)]
k <- as.integer(Nobs * seq(1, K-1)/K)
k <- matrix(c(0, rep(k, each=2), Nobs), ncol = 2, byrow = TRUE)
k[,1] <- k[,1]+1
l <- lapply(seq.int(K), function(x, k, d)
list(train=d[!(seq(d) %in% seq(k[x, 1],k[x, 2]))],
test=d[seq(k[x,1],k[x,2])]),
k=k,d=id)
return(l)
}
그러나 실제로 나는 lapply
이 무엇을하는지 이해하지 못합니다. 누군가 초보자에게 설명 할 수 있을까요? 고맙습니다.
당신이 이해하지 못하는 것은 무엇입니까? 당신이 이해하지 못한다는 말은 단순히 우리에게 도움이되지 않습니다. –
또한 @Roman에 약간의 들여 쓰기 및 코드 형식 지정이 가독성을 향상시킬 것이라고 동의합니다. 코드를 어떻게 포맷하는지 보여주기 위해 코드를 편집했습니다. 또한 코드에 공백을 추가하여 코드의 시각적 블록을 줄였습니다. –