首页 > 解决方案 > 在 Rstudio 中使用循环的函数

问题描述

我正在创建一个函数,我想用“num_casos”列的数据创建一个新列

suavizar = function(dataset, nombre_columna){
  for ( i in 8:nrow(dataset)){
    dataset[i, nombre_columna] = sum(dataset[(i-7):(i-1),"num_casos"])/7}
}


suavizar(casos_10_19,"casos_10_19")

#The Output:

       fecha num_casos
1   2020-03-02         8
2   2020-03-03         4
3   2020-03-04         3
4   2020-03-05        16

为什么我的函数没有在我的数据框中创建新列?

标签: rdataframeloopsfor-loopdplyr

解决方案


您可以尝试如下功能

suavizar <- function(dataset, nombre_columna){
  for ( i in 8:nrow(dataset)){
    dataset[i, nombre_columna] <- sum(dataset[(i-7):(i-1),"num_casos"])/7}
  }
  dataset
}

推荐阅读