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
仿真数据2
df2 <- tibble(
"packages" = c("caret","ggplot2","lattice","dplyr","h2o","haven","pROC","nnet"),
"download" = c(9,5,NA,1,7,4,2,1)
)
df2
仿真数据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 |