如何解决如何计算一组中的最大值并最小化另一组并取时间平均值
我有一个数据集,其中包含时间,价格以及买卖代码。对于每个时间段,我试图计算最大买入价和最小卖出价,然后取平均值。如果其中一个在特定时间不存在,那么它将是存在的那个。例如,如果只有一个买入价,那么平均值就是那个时间的买入价。对于此数据,1是买入,0是卖出。数据集如下所示:
data <- data.frame(buy_sell = c(0,1,1),price = c(71,65,66,77,89,80,55,45,23,46,50,45),time = c(1,2,3))
data$av_price <- ifelse(data$time == 1,55.5,ifelse(data$time == 2,45))
data
我试图在dyplr中执行此操作,但是当您进行分组时,它会为两组计算每个值,因此您不能取两个的平均值。我的方法看起来像这样。
data <- data %>% group_by(time,buy_sell) %>%
mutate(max_buy = max(price),min_sell = min(price))
data
有人可以帮助我构造代码以提供所需的结果吗?
解决方法
您可以使用一对中间/过渡列来完成此操作。类似于以下内容:
@(...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。