我有一个名为“baseline_2030s_Simulation_df”的数据框,其数据如下:
name run year hyear date Qsim
<chr> <int> <dbl> <int> date> <dbl>
1 baseline_2030s 1 1961 1961 1961-01-01 0.01174578
2 baseline_2030s 1 1961 1961 1961-01-02 0.05649294
3 baseline_2030s 1 1961 1961 1961-01-03 0.53905528
4 baseline_2030s 1 1961 1961 1961-01-04 0.47176994
5 baseline_2030s 1 1961 1961 1961-01-05 1.14605700
6 baseline_2030s 1 1961 1961 1961-01-06 2.00960733
7 baseline_2030s 1 1961 1961 1961-01-07 1.67644775
8 baseline_2030s 1 1961 1961 1961-01-08 1.37355507
9 baseline_2030s 1 1961 1961 1961-01-09 1.11827576
10 baseline_2030s 1 1961 1961 1961-01-10 0.91294671
# ... with 547,840 more rows
总共有50个“运行”,每个运行在每日时间步骤中具有“Qsim”数据。每次“运行”的时间段是相同的(01.01.1961 - 31.12.1990)。
我要求在每次运行中计算每年“Qsim”的年度Q70。 Q70是Qsim值,超过70%的时间。
例如,我需要计算并存储Q70的值,用于运行1 - 1961年,运行1 - 1962年....一直到运行50 - 1990年。
我可以使用下面的代码计算整个数据集的Q70值(即不是年度或运行),但很难将其转换为年度/运行替代品。
baseline_2030s_Simulation_df %>% group_by(name, run, hyear) %>%
summarise(Q70 = quantile(Qsim, 0.3))