全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1300 0
2020-05-25

本章节是数据预处理的第一步:了解数据(集)。只有充分了解了数据,我们才能对数据做进一步的预处理和后续深入的分析。

目录

1 数据结构

str()

dim()

head()

2 描述性统计分析

summary()

psych::describe()

分组计算doBy::summaryBy

分组计算psych::describeBy

3 频数和列联表

table 一维计数

xtabs 多维(交叉)计数

gmodels::CrossTable #列联表




01

数据结构

严格来讲“数据结构”不是基本统计分析的内容,但是这是了解数据的第一步,因此这里做简单普及!推荐使用str()函数
class() # 数据类型dim() # 数据(集)的行列数
nrow() # 数据(集)的行数,等价于dim(mtcars)[1]
ncol() # 数据(集)的列数,等价于dim(mtcars)[2]
View() # 查看数据(集)
head(X,n) # 显示数据集前n行
str() # 查看数据(集)类型、行列数,每列的数据类型和简要数据概况



02


描述性统计分析


描述性统计分析主要是认识数据的整体状况,例如是否缺失、均值、方差、中位数等描述性统计变量。

推荐使用summary()、psych::describe()

## 描述统计
# 1.1 summary()
summary(mtcars) #具体查看下方示例


# 1.2 psych::describe
library(psych)
psych::describe(mtcars) #具体查看下方示例

# 1.3 Hmisc::describe
library(Hmisc)
describe(df)

# 1.4 aggregate() # 分组描述统计分析
myvars<-c("mpg","hp","wt")

aggregate(mtcars[myvars],by=list(am=mtcars$am),mean)
#输出结果am      mpg       hp       wt1  0 17.14737 160.2632 3.7688952  1 24.39231 126.8462 2.411000


# 1.5 doBy包和psych包 具体查看下方示例
# 分组计算的扩展,doBy包和psych包提供了分组计算的描述性统计量的函数,doBy包中的summaryBy()函数使用的基本格式
summary()函数提供了最小值、最大值、四分位数、均值,另外还可以因子向量和逻辑型向量的频数统计

03


频数和列联表

推荐学习使用table、xtabs、gmodels::CrossTable

## 2.频数和列联表
# 2.1  table #频数生成
table(mtcars$vs)
table(mtcars$gear)
# 将频数转换为比例   
prop.table(table(mtcars$gear))  # prop.table()*100转化成百分比

# 2.2 二维列联表
# mytable<-table(A,B) A为行变量 B为列变量
# xtabs()函数还可以使用公式风格的输入创建列联表
# mytable<-xtabs(~A+B,data=mydata)  
#其中mydata是一个矩阵或者数据框
# 三维以上列联表mytable<-xtabs(~Treatment+Sex+Improved,data=Arthritis)

mytable <- xtabs(~gear+vs, data = mtcars)  
mytable
prop.table(mytable, 2) #按列计算百分比addmargins(mytable, 2) #增加行和

#使用CrossTable()创建二维列表
# install.packages("gmodels")
library(gmodels)
CrossTable(mtcars$gear, mtcars$vs)

获取源代码请至数据驱动实践回复:20200524



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群