hi all,
I am trying to get a weighted median and IQR (25th and 75th %iles) for my variable GCSTot_recode. It needs to be grouped by Cause_code.
Here is my weighted mean code:
weighted_df <- MOIweights_joined %>%
group_by(Cause_code) %>%
summarise(weighted_mean_PTADays_impute = weighted.mean(x = PTADays_impute, w = stab_weights, na.rm = TRUE))
However, I cannot figure out how to get the weighted median.
I have tried:
weighted_df <- MOIweights_joined |>
group_by(Cause_code) |>
summarise(weighted_median_GCSTot_recode = wtd.quantile(GCSTot_recode, w = stab_weights, na.rm = TRUE))
and get this error code: Warning: Returning more (or less) than 1 row per summarise()
group was deprecated in dplyr 1.1.0.
Please use reframe()
instead.
When switching from summarise()
to reframe()
, remember that reframe()
always returns an ungrouped data frame and adjust accordingly.summarise()
has grouped output by 'Cause_code'. You can override using the .groups
argument.
I have also tried:
weighted_df <- MOIweights_joined %>%
group_by(Cause_code) %>%
summarise(weighted_median_GCSTot_recode = wtd.median(GCSTot_recode, w = stab_weights)
)
But i get this error code: Error in summarise(., weighted_median_GCSTot_recode = wtd.median(GCSTot_recode, :
In group 1: Cause_code = 0
.
Caused by error in wtd.median()
:
! could not find function "wtd.median"
Any help is greatly appreciated!