1

year_hh_inc我想找到按 分组时的最低(最高和平均值)非零数的平均值、众数、第 1、第 3 个百分位数和标准差regional_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 = ',')

我应用以下代码:

  maindf %>%
  group_by(regional_schlüssel) %>%
  summarise(year_hh_inc = mean(min(year_hh_inc)))

这并不完全符合我的要求。它捕获了所有最小(最大和标准偏差)值,regional_schlüssel但它没有告诉我关于它们的分布的任何信息。

4

1 回答 1

2

交换消息后,似乎以下是您获取所需值的一种方法。首先,我使用regional_schlüssel. 然后,我在每组中寻找最小值。values包含要处理计算的数值。在第二个summarize()中,我使用了几个函数来获取您所追求的值。

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

另一种方法如下。我认为使用sumamry()使我们的生活更轻松。

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           
于 2020-03-04T10:32:57.893 回答