【问题标题】:Writing kind of for-loop using dplyr in R在 R 中使用 dplyr 编写一种 for 循环
【发布时间】:2018-12-04 13:06:29
【问题描述】:

是否有可能在 dplyr 语法中使用一种 for 循环?我正在使用以下语法来检查是否存在 MAP

duur2_vs_diepte <- data_blood_pressure %>%
  summarise(
    duur_tm99_2 = (sum(MAP<=99))^2,
    duur_tm98_2 = (sum(MAP<=98))^2,
    duur_tm97_2 = (sum(MAP<=97))^2,
    .......
    duur_tm4_2 = (sum(MAP<=4))^2,
    duur_tm3_2 = (sum(MAP<=3))^2,
    duur_tm2_2 = (sum(MAP<=2))^2,
    duur_tm1_2 = (sum(MAP<=1))^2
  )

【问题讨论】:

  • summarise_allsummarise_at 可能对您有用,但如果不知道数据集的其余部分是什么样子就很难分辨

标签: r for-loop dplyr


【解决方案1】:

这可能对你有用:

# a helping function to create each column
create_columns <- function(x, mat) {
  dt <- mat %>%
    filter(MAP <= x) %>%
    summarise(sum(MAP, na.rm = TRUE)^2)

  names(dt) <- paste0("duur_tm", x, "_2")

  dt
}

# get all results together
bind_cols(lapply(100:1, create_columns, data_blood_pressure))

【讨论】:

    猜你喜欢
    • 2017-01-09
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 2014-11-28
    • 1970-01-01
    • 2018-05-02
    • 2023-03-21
    相关资源
    最近更新 更多