Bir çalışma çözümüm var ama belki daha yeni dplyr pencere işlevlerinden bazılarını kullanan daha temiz, daha okunabilir bir çözüm arıyorum.Yüzlerce pencere fonksiyonunu kullanarak yüzdelik hesaplarını hesaplama
mtcars veri kümesini kullanarak, 25, 50, 75. persentillere bakmak istiyorum ve silindir sayısı ("silindir") tarafından galon başına mil ("mpg") ortalama ve sayım yapmak istiyorum aşağıdaki kodu:
library(dplyr)
library(tidyr)
# load data
data("mtcars")
# Percentiles used in calculation
p <- c(.25,.5,.75)
# old dplyr solution
mtcars %>% group_by(cyl) %>%
do(data.frame(p=p, stats=quantile(.$mpg, probs=p),
n = length(.$mpg), avg = mean(.$mpg))) %>%
spread(p, stats) %>%
select(1, 4:6, 3, 2)
# note: the select and spread statements are just to get the data into
# the format in which I'd like to see it, but are not critical
Ben özet fonksiyonlarının bazılarını kullanarak dplyr ile daha temiz yapabilirsiniz bir yolu (n_tiles, percent_rank, vs.) var mı? Temiz olarak, "do" ifadesi olmadan demek istiyorum.
teşekkür ederiz
Bu kodun, "spread" işlevinin – dreww2