R语言使用dplyr包的groupby函数和summarise函数计算dataframe中不同分组的均值(分组为离散变量、被统计列为连续变量)

目录

R语言使用dplyr包的groupby函数和summarise函数计算dataframe中不同分组的均值(分组为离散变量、被统计列为连续变量)

#导入包和库

仿真数据1

仿真数据2

仿真数据3

仿真数据4

仿真数据5

 R语言使用dplyr包的groupby函数和summarise函数计算dataframe中不同分组的均值(分组为离散变量、被统计列为连续变量)


数据需要格式转换、需要清洗、需要筛选过滤、数据异常值处理、需要缺失值填充、需要变换都属于数据处理的范畴;

还有,因子化、新变量创建、类型转换、统计值、重命名、排序、聚合、删除等一系列日常的数据按摩操作;

R在进行统计分析前,常常需要对数据进行处理,使数据结构符合我们的统计需要,比如说变量因子化、创建新变量、变量类型转化等等,因此数据处理是R进行统计分析前很重要的步骤。

在实际情况下,数据通常是不完整(缺少属性值或某些感兴趣的属性,或仅包含聚集数据)、含噪声(包含错误或存在偏离期望的离群值)、不一致的,这样的数据必须经过预处理,剔除其中的噪声,回复数据的完整性和一致性后才能使用数据挖掘技术进行分析。

#导入包和库

install.packages('package_name')

my_packages <- c('ggplot2','data.table','tibble','Hmisc','readr','rJava','xlsxjars','dplyr','stringr','openxlsx','pryr','patchwork','mice','glue','tidyr','RcppRoll')


lapply(my_packages, require, character.only = TRUE)

仿真数据1

df <- data.frame(
  "packages" = c("caret","ggplot2","lattice","dplyr","h2o","haven","pROC","nnet"),
  "download" = c(9,5,NA,1,7,4,2,1)
)

df

summarize at R语言 r语言 summarise_summarize at R语言

仿真数据2

df2 <- tibble(
  "packages" = c("caret","ggplot2","lattice","dplyr","h2o","haven","pROC","nnet"),
  "download" = c(9,5,NA,1,7,4,2,1)
)

df2

summarize at R语言 r语言 summarise_r语言_02

仿真数据3

library(readr)
df <- read_csv('pandas120.csv')

df

head(df)

createTime

education

salary

2020/3/16 11:30

本科

20k-35k

2020/3/16 10:58

本科

20k-40k

2020/3/16 10:46

不限

20k-35k

2020/3/16 10:45

本科

13k-20k

2020/3/16 10:20

本科

10k-20k

仿真数据4

library(readr)

df <- read_csv('600000.SH.csv')


head(df,3)

代码

简称

日期

前收盘价(元)

开盘价(元)

最高价(元)

最低价(元)

收盘价(元)

成交量(股)

成交金额(元)

涨跌(元)

涨跌幅(%)

均价(元)

换手率(%)

A股流通市值(元)

总市值(元)

A股流通股本(股)

市盈率

600000.SH

浦发银行

2016-01-04

16.1356

16.1444

16.1444

15.4997

15.7205

42240610

754425783

-0.4151

-2.5725

17.8602

0.2264

3.32032e+11

3.32032e+11

18653471415

6.5614

仿真数据5

#
library(dplyr)

df1 <- sapply(20,function(n) {
  replicate(n,sample(1:100,1))
}) %>%
  as.data.frame(.) %>%
  dplyr::rename(`0` = V1)


df2 <- as.data.frame(seq(0,99,5)) %>%
  dplyr::rename(`0` = "seq(0, 99, 5)")

df3 <- as.data.frame(rnorm(20,0,1)) %>%
  dplyr::rename(`0` = "rnorm(20, 0, 1)")

df <- rbind(df1,df2,df3)

df <- cbind(df1,df2,df3)


head(df)

 R语言使用dplyr包的groupby函数和summarise函数计算dataframe中不同分组的均值(分组为离散变量、被统计列为连续变量)

library(dplyr)
library(tibble)
df %>%
  group_by(education) %>%
  summarise(mean = mean(salary))

不限

19600.00

大专

10000.00

本科

19361.34

硕士

20642.86