在R中使用map函数代替for循环
抱歉,如果这是一个愚蠢的问题-我对R很陌生,一直在努力自学。我一直在尝试使用map函数而不是for循环重写以下代码在R中使用map函数代替for循环,r,for-loop,purrr,R,For Loop,Purrr,抱歉,如果这是一个愚蠢的问题-我对R很陌生,一直在努力自学。我一直在尝试使用map函数而不是for循环重写以下代码 columnmean <- function(y){ nc <- ncol(y) means <- numeric(nc) for(i in 1:nc){ means[i] <- mean(y[, i]) } means } columnmean(mtcars) columnmean您可以使用map\u dbl: colu
columnmean <- function(y){
nc <- ncol(y)
means <- numeric(nc)
for(i in 1:nc){
means[i] <- mean(y[, i])
}
means
}
columnmean(mtcars)
columnmean您可以使用map\u dbl
:
columnmean_map <- function(y){
purrr::map_dbl(y, mean)
}
欢迎来到堆栈溢出!您能阅读并合并来自的元素吗?特别是使用dput()
进行输入,然后使用预期数据集的显式示例?感谢您的建议!我不太明白如何使用dput(),但我希望通过包含mtcars数据集,可以让每个人都更容易地了解我看到的问题。对列mean1
中的两个不同变量使用y
。(2) 让您在map
中的匿名函数返回一些内容,并分配整个map()
调用的结果,而不是在函数中,例如意味着,在您理解map
之前,不要担心map2
或imap
(和map\u dbl
,map\u chr
等)
columnmean_map <- function(y){
purrr::map_dbl(y, mean)
}
columnmean_summarise <- function(y){
dplyr::summarise_all(y, mean)
}