R 按组查找列中最低数量的汇总统计信息

R 按组查找列中最低数量的汇总统计信息,r,group-by,dplyr,R,Group By,Dplyr,我想找出年份的非零最低(最高和平均值)数的平均值、模式、第1、第3百分位和标准偏差,按地区schlüssel分组。以下是我的数据: library(Rcurl) x <- getURL('https://raw.githubusercontent.com/dothemathonthatone/maps/master/maindf_2_Anon.csv') maindf <- read.csv(text = x, row.names=NULL, head =TRUE, dec = '

我想找出
年份的非零最低(最高和平均值)数的平均值、模式、第1、第3百分位和标准偏差,按
地区schlüssel
分组。以下是我的数据:

library(Rcurl)
x <- getURL('https://raw.githubusercontent.com/dothemathonthatone/maps/master/maindf_2_Anon.csv')

maindf <- read.csv(text = x, row.names=NULL, head =TRUE, dec = ',')

这不完全符合我的要求。它通过
regional_schlüssel
捕获所有最小(最大和标准偏差)值,但它没有告诉我它们的分布情况

在交换消息之后,似乎以下是获取所需值的一种方法。首先,我使用
regional_schlüssel
定义了组。然后,我在每组中寻找最小值<代码>值
包含要处理计算的数值。在第二个
summary()
中,我使用了两个函数来获取所需的值

library(dplyr)
library(tibble)

group_by(maindf, regional_schlüssel) %>% 
summarize(values = min(year_hh_inc)) %>% 
summarize(average = mean(values),
          sd = sd(values),
          mode = names(which.max(table(values))),
          quantile25 = quantile(values)[2],
          quantile75 = quantile(values)[4])

  average    sd mode  quantile25 quantile75
    <dbl> <dbl> <chr>      <dbl>      <dbl>
1  15035. 4292. 12271      12271      17500

你说“最低非零年数”是什么意思?例如,当regional_schlüssel为5112000时,如果我没有弄错的话,year_hh_inc的最小值为15000。你想用这个号码做什么?你能详细说明你的情况吗?@jazzurro谢谢你的提问。我想找到所有“最低数字”的平均值(和标准差),因此您需要确定
年\u hh\u inc
中每个级别的最低数字,并查找这些数字的平均值。“是吗?”“是的,先生。明白了。谢谢让我来处理你的数据。@jazzuro感谢你的解决方案;作为一个附带的问题,你认为有没有办法把这个分布放进一个箱线图中?我想这样就可以了<代码>分组依据(maindf,regional_schlüssel)%%>%汇总(值=最小值(年份公司))%%>%mutate(id=“year_hh_公司”)%%>%ggplot(aes(x=id,y=value))+geom_boxplot()+geom_jitter()+labs(x=”“)
library(dplyr)
library(tibble)

group_by(maindf, regional_schlüssel) %>% 
summarize(values = min(year_hh_inc)) %>% 
summarize(average = mean(values),
          sd = sd(values),
          mode = names(which.max(table(values))),
          quantile25 = quantile(values)[2],
          quantile75 = quantile(values)[4])

  average    sd mode  quantile25 quantile75
    <dbl> <dbl> <chr>      <dbl>      <dbl>
1  15035. 4292. 12271      12271      17500
group_by(maindf, regional_schlüssel) %>% 
summarize(values = min(year_hh_inc)) -> res

c(summary(res$values), sd = sd(res$values),
  mode = names(which.max(table(res$values)))) %>% 
enframe

  name    value           
  <chr>   <chr>           
1 Min.    -8              
2 1st Qu. 12271           
3 Median  14999.5         
4 Mean    15035.3142857143
5 3rd Qu. 17500           
6 Max.    29999           
7 sd      4291.76642645115
8 mode    12271