Beyond Basic For loops: Tidy Expressions | TidyX Episode 170

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024

ความคิดเห็น • 6

  • @ArcenisRojas
    @ArcenisRojas 9 หลายเดือนก่อน

    Also, thank you both for this video!

  • @zl1061
    @zl1061 9 หลายเดือนก่อน

    Really appreciate the for loop solution as often running into this situation myself and I always wondered if you can do this without running the same code multiple times. This has been super helpful!

  • @Matt_Kumar
    @Matt_Kumar 9 หลายเดือนก่อน

    Keeping Patrick on his toes :)

  • @rayflyers
    @rayflyers 9 หลายเดือนก่อน +2

    You can accomplish it with a single pivot longer if the column names have a consistent pattern/separator. I gave the stat variables a new suffix ("_score") to make that happen.
    fake_dat |>
    rename_with(\(x) str_replace(x, "(.+\\d$)", "\\1_score")) |>
    pivot_longer(
    c(ends_with("_score"), ends_with("_n")),
    names_to = c("stat", ".value"),
    names_sep = "_",
    ) |>
    summarize(
    total_obs = sum(n),
    wgt_stat = weighted.mean(score, n),
    .by = c(athlete, stat)
    )

  • @ArcenisRojas
    @ArcenisRojas 9 หลายเดือนก่อน

    If you must use a for loop...
    # Using a for loop
    library(rlang)
    wgt_stat_list