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