在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

抱歉,如果这是一个愚蠢的问题-我对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

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)
}