人们常说,人们应该更喜欢lapply过for循环.有一些例外,例如Hadley Wickham在他的Advance R书中指出.
(http://adv-r.had.co.nz/Functionals.html)(修改到位,递归等).以下是这种情况之一.
仅仅为了学习,我试图以功能形式重写感知器算法,以便对相对性能进行基准测试.来源(https://rpubs.com/FaiHas/197581).
这是代码.
# prepare input
data(iris)
irissubdf <- iris[1:100, c(1, 3, 5)]
names(irissubdf) <- c("sepal", "petal", "species")
head(irissubdf)
irissubdf$y <- 1
irissubdf[irissubdf[, 3] == "setosa", 4] <- -1
x <- irissubdf[, c(1, 2)]
y <- irissubdf[, 4]
# perceptron function with for
perceptron <- function(x, y, eta, niter) {
# initialize weight vector
weight <- rep(0, dim(x)[2] + 1)
errors <- rep(0, niter)
# loop over number of …Run Code Online (Sandbox Code Playgroud)