【问题标题】:How to apply a function and assign multiple variables to a grouped tibble如何应用函数并将多个变量分配给分组的 tibble
【发布时间】:2020-11-08 13:30:37
【问题描述】:

我想在不离开管道的情况下将函数应用于分组的 tibble。这是一个例子:

数据框

test = data.frame(ticker=c(rep(c('A','B','C'),100)),price=rnorm(300))

功能

MACD(test$price, nFast=12*30, nSlow=26*30,nSig=9, percent=FALSE)

类似的东西(但有效):

 prices %>%
  group_by(ticker) %>%
  group_modify(~ {
    .x %>% MACD(.$price.close, nFast=12*30, nSlow=26*30,nSig=9, percent=FALSE)
  }) %>%
mutate(change=macd-signal)

最终结果将是一个包含代码、价格、MACD、信号和变化的单一数据框。

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我会试一试do() 函数,大致如下:

    prices %>%
      group_by(ticker) %>%
      do(macd = MACD(.$price.close, nFast=12*30, nSlow=26*30,nSig=9, percent=FALSE)) %>%
      mutate(change=macd-signal)
    

    do() 的文档来自dplyrhttps://dplyr.tidyverse.org/reference/do.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多