美文网首页数据分析
统计学第一课:统计基础与R入门

统计学第一课:统计基础与R入门

作者: 阿小哈 | 来源:发表于2020-09-19 18:28 被阅读0次

学习数据分析有很多种方式,但是统计学是必须要掌握的一门学科。统计学研究各领域数据,是一套获取、分析、得出结论的一套科学方法,在任何一个科学领域和工业/商业领域,通都可以过统计学方法进行数据研究。

进入统计学前,必须要知道的名词

变量

描述观察对象的统一称谓。身高、企业的销售额、色子的点数等都可以称为变量。

数据

变量的观测结果就是数据。身高的观测结果有167、180,销售额的观测结果有20000、309000,一个色子的点数的观测结果有:2、4、5、6。

因为观测结果也就是说数据的不同,变量还可以分为:类别变量和数值变量。

类别变量

顾名思义,有的变量的数据描述了变量的属性特征,比如性别变量的观测结果是男性、女性;还有的变量的数据描述了变量的性质特征,比如销售业绩的观测结果是高、中、低。所以这种取值为属性、类别、或者区间值的变量统称为类别变量,有的地方也叫分类变量或定性变量。我们统一将类别变量的取值称为类别数据或分类数据。

由于类别变量的特殊性,还可以继续细分为:无序类别变量和有序类别变量。销售业绩的高、中、低就是一个有序类别变量。可见,取值可排序就是有序类别变量了,反之就是无序类别变量。

数值变量

数值变量的取值用数字表示,它的取值可以称为数值数据或定量数据。根据取值的特性,数值变量可以分为离散变量和连续变量。

离散变量的取值是有限的,每一个值都可以一一列举出来。例如企业销售额、产品生产数量。

连续变量是在一个或多个区间中任意取值的变量,取值过程连续不断导致无穷尽,所以不能一一列举。比如年龄、温度。

所以你会发现,如果离散变量的取值非常多时,其实也可以为连续变量。

观测数据

所有用于分析的社会上的可以获取到的数据都是观测数据。

实验数据

在实验的目的下,针对实验对象进行收集的数据是实验数据。

截面数据

在相同或相近的时间点上收集的数据,比如2020年中国粮食产量。

时间序列数据

观察某对象在时间下的变化的数据,比如1990年到2020年的中国粮食产量。

总体和样本

总体也可以称为母群体,是一个不太能量化的全体的总称,比如人类的身高,这是一个总体。要研究人类的身高必然需要抽取部分人的数据,这个部分人的数据就是样本,样本可以是任何元素,构成样本的成为样本量。

统计学有很多方法可以带我们对总体进行抽样,在日后会慢慢了解。

R语言是什么?

我把R成为牛逼的计算器,对于没有编程基础的你不要害怕。

不同于Python、SQL的计算,R是目前世界上公认的最专业的统计编程语言,它的逻辑编排、包的设计、参数等更适合统计学、数学学科对海量数据的分析和处理。所以,在不考虑工程化而只作为数据分析的层面上说R语言是做合适不过了。

如何安装

第一步:下载R语言Terminal,下载地址https://www.r-project.org/,按提示安装后即可使用,但编程的交互体验较差,如果你不喜欢,可以进入到第二步;

第二步:下载R Studio,这是一个交互编程工具,我认为对新手来讲更友好一些,下载地址https://rstudio.com/products/rstudio/download/,同样按提示安装后即可使用。

(网上太多细节,所以度娘即可获取方法)

R语言基本语法(入门)

赋值符号是<-

如果你想对某个对象进行赋值,请使用<-连接

# 将Tom赋值给name对象
name <- Tom
​
# 打印输出name对象结果,print是一种函数命令,后面用()写入函数作用的对象
print(name)

获取帮助说明

R语言内部都有各类函数和包的解释说明,对于英文好的人来说非常方便。你想问什么东西,就在这个东西前面写个英文问号

# 打开print的帮助页面,直接回车后,print的帮助说明自动弹出
?print

R语言内部都有非常多的函数和数据的集合,这就是包。默认安装R程序后,本机已经带有了一些包,但有时候是不够用的。可以根据自己的统计需求,来选择下载和安装。

# 利用install.packages函数进行安装,可以一次装一个包,也可以一次装多个包
install.packages("car")
install.packages(c("car","vcd"))
​
# 在某些统计编程开始时要用到某类包的函数或者数据,需要先把包进行加载而后使用
# 函数内无需用双引号,
library(car)

加载数据

读取R格式文件

load("此处填写文件路径.RData")

读取CSV格式文件

#路径名,文档是否包含标题
read.csv("此处填写文件路径.csv",header=FALSE)

读取Excel格式文件

#先安装包xlsx,再加载包
install.packages("xlsx")
library(xlsx)
# 路径名,sheet表名,是否作为数据框否则转化成列表
read.xlsx("此处填写文件路径.xlsx",sheetName ="人数",as.data.frame = TRUE)

链接MySQL数据库读取数据

# 安装包文件
install.packages("RMySQL","DBI")
library(RMySQL)
​library(DBI)

# 尝试连接数据库
con<-dbConnect(MySQL(),dbname="yourdatabasename",user="root",password="yourpassword",host="localhost")

# 查看table
dbListTables(con)

# 查看table字段
dbListFields(con,"member")

# 解决乱码关键,设置数据库读取编码格式为utf-8
dbSendQuery(con,'SET NAMES utf8')

# 读取表格
dbReadTable(con,"dept")
dbReadTable(con,"records_display")

# 用函数dbGetQuery进行数据查询:选择链接对象,输入查询语句
dbGetQuery(con,"select * from cd_txn_info")
​
#断开当前连接
dbDisconnect(con)

特殊值

R支持四种特殊值:Inf(正无穷)、-Inf(负无穷)、NaN和NA。

NaN是“不是一个数”(not-a-number)的缩写,它说明:“当前的计算没有数学意义或无法正确执行”。

NA是“不可用”(not available)的缩写,它是缺失值的意思。在我们日常分析中进场可以看到NA,同时在计算过程中涉及一个缺失值的计算,所得结果也是NA。

逻辑值

TRUE、FALSE、NA是R语言的三个逻辑值。其中TRUE、FALSE、NA不可以作为对象或变量出现。由于原始数据中经常出现空值的情况,所有NA在此会出现,不要太诧异。

#正确的做法
true <- 1
#错误的做法
TRUE <- 1

在R中有三个向量化逻辑运算符:

  • !代表非操作
  • &代表与操作
  • |代表或操作

R语言的所有变量都有类的概念(你可以理解为类型)。类分为:numeric数值类、logical逻辑类、integer整数类、complex复数类、character字符类、factor因子类。

利用class函数可以找到类型,利用c函数可以创建向量,向量后文会有补充。

class(c(TRUE,TRUE))
class(1)
​
#i代表虚部,z=a+bi(a,b均为实数)的数称为复数
class(3+2i)
​
#L后缀可以把数字变成整数类型,注意数字不可以为小数
class(300L)
​
#这是错误的
class(300.09L)
​
class(c("eggs","balls"))
​
# 创建因子赋值给gender变量
gender<-factor(c("unknow","male","female","male","unknow"))
​
# 查看gender因子的标签,也就非重复的标签是什么,称之为查看因子的水平。
# 注意因子水平的输出结果,默认按照字母顺序排列,第一个并不是unknow,是female
levels(gender)
​
# 查看gender因子的水平的个数,也就是有几个标签
nlevels(gender)
​
# 因子在底层存储的时,通过整数进行对应,可通过as.integer函数查看因子对应的整数
as.integer(gender)

向量

利用c函数可以创建向量,创建后得到的序列为一个矢量

# 使用c函数可以创建向量,其中:的意思是从几到几,默认步长为1
c(1:5)
# 下面是创建向量后输出的结果
[1] 1 2 3 4 5

有的函数可以指定步长来创建序列,比如seq.int是一个可以指定步长的函数

seq.int(1, 6, 2)

不论向量和序列,都有长度的概念,长度是一个非零正整数

# 向量1到5的长度是5
c(1:5)
​
# 包含了字符串向量的变量circular的长度是2
circular <- c("eggs","balls")
length(circular)

矩阵与数组

数组中可以存放多维数据,这个多维数据中:行长度一致、列长度一致(矩阵是二维数组)。

利用array函数创建数组。传入两个向量(值、维度)

数据类型

R语言的数据类型非常多,值得注意的是R语言与其他编程语言(如java)相反,变量不会声明数据类型。变量分配有R对象,R对象的数据类型变为变量的数据类型。

最常用的数据类型有:

  • 矢量
  • 列表
  • 矩阵
  • 数组
  • 因子
  • 数据帧

相关文章

  • 统计学学习方法推荐

    学习目标: 统计学基础知识 统计(假设)检验相关 用R语言进行统计学相关分析计算 统计学基础知识: 统计学入门路线...

  • 读书感想-大数据的工具:R语言实战

    入门书籍。不是大数据入门书籍,而是R语言的入门书籍。 大数据的基础,还是统计学。没有统计学的基础,看这本书,就好像...

  • 2020-03-13-01 统计基础教材推荐

    1.基础入门概念论与数理统计医学统计学 推荐学习路线 概率论与数理统计《医学统计学》(李晓松) 学习重点 进阶教材...

  • 100天自学大数据:我用Scala复习学统计基础公式

    适合人群 已经忘记统计学基础的 Scala刚刚入门的 通过对统计学入门公式的实践编程,你可以对Scala做到入门,...

  • 统计学第一课:统计基础与R入门

    学习数据分析有很多种方式,但是统计学是必须要掌握的一门学科。统计学研究各领域数据,是一套获取、分析、得出结论的一套...

  • # 大数据的统计学基础

    概率论与统计学 概率论是统计学的基础,统计学冲锋在应用第一线,概率论提供武器。 我们在学习R的时候,会做过假设检验...

  • ##规划##

    1, Linux进阶 2,高于入门级的统计学知识,以及一门统计语言,比如 R 3,Python,进阶使用C语言。 ...

  • 经济学类书单推荐(针对非专业读者)

    此处非专业,主要是指数学及统计学水平有限,只修读过基本的高等数学及统计学入门课程。 一、经济学基础 1、格里高利-...

  • 女士品茶-萨尔斯伯格

    《女士品茶》是一本统计学入门读物,主要是对20世纪统计学的变革与发展进行了梳理,全书对以皮尔逊、费歇尔为主的统计学...

  • 统计学基础与R-估计

    写在前面 入门生物信息,所有人都绕不开统计基础知识和相关实现方式。本章我们将简要介绍统计学相关基础知识以及如何使用...

网友评论

    本文标题:统计学第一课:统计基础与R入门

    本文链接:https://www.haomeiwen.com/subject/khfyyktx.html