【发布时间】:2022-01-08 08:01:34
【问题描述】:
在 R 中,我试图生成一个按组显示特定百分位数的汇总数据框,其中汇总数据框中列的名称取决于百分位数的名称。
我的原始数据框属于以下类型:
| Month | a | b | c | d |
|---|---|---|---|---|
| Jan | 1 | 2 | 3 | 4 |
| Feb | 5 | 6 | 7 | 8 |
| March | 9 | 10 | 11 | 12 |
| April | 13 | 14 | 15 | 16 |
我想按月创建一个包含第 5、第 10、第 50 和第 75 个百分位数的数据框:
| Month | perc_5 | perc_10 | perc_50 | perc_75 |
|---|---|---|---|---|
| Jan | 5th perc | 10th perc | 50th perc | 75th perc |
| Feb | 5th perc | 10th perc | 50th perc | 75th perc |
| March | 5th perc | 10th perc | 50th perc | 75th perc |
| April | 5th perc | 10th perc | 50th perc | 75th perc |
在 Stata 中,我会使用 foreach 循环来完成此操作,使用 "` '"m 生成列名,例如
foreach var of varlist:
egen perc_`var'= pctile(column), p(`var')
我一直在尝试使用 for 循环在 R 中执行此操作,但没有任何运气。我也在 Stack Overflow 上进行了广泛的搜索,但未能找到答案。谁能给点建议?
【问题讨论】:
-
a、b、c、d 列是不同的组吗?或同一组中的差异观察?您是否尝试生成行百分位数?你的真实数据有多少列?
-
Stata 代码最好完全忽略,即使回答的人对 Stata 了解一些或很多。抱歉,但这真的没有意义,而且距离合法还有很长的路要走。
-
原始数据框中的列/值与第二个数据框中的列/值究竟是什么关系?