我有一个如下数据集(10,000+ 行):
P_ID | SNUM | RNUM | X |
---|---|---|---|
ID_233 | 10 | 2 | 40.31 |
ID_233 | 10 | 3 | 23.21 |
ID_234 | 12 | 5 | 11.00 |
ID_234 | 12 | 6 | 0.31 |
ID_234 | 13 | 1 | 0.00 |
ID_235 | 10 | 2 | 66.23 |
从这个数据集中,我想将每个不同P_ID
的数据拟合到 Gamma 分布(忽略对采样数据与分布的拟合程度的测试)
使用该fitdistrplus
包,我可以通过X
将个人提取P_ID
到向量中然后运行它 fw <- fitdist(data,"gamma")
然后提取描述shape
性rate
变量来实现这一点,但这都是非常手动的。
我想找到一种方法,使用 tidyverse 从上面的数据框转到:
P_ID | 分销 | G_Shape | G_Rate |
---|---|---|---|
ID_233 | 伽玛 | 1.21557116 | 0.09206639 |
ID_234 | 伽玛 | 3.23234542 | 0.34566432 |
ID_235 | 伽玛 | 2.34555553 | 0.92344521 |
我将如何使用 Tidyverse 和 Pipes 来实现这一点,而不是进行一系列的 for 循环?