第1章:
1、R语言的特性:
免费
**适合多种类型数据分析
可制图,数据可视化
可交互
匹配各种类型数据源
易扩展
拥有各种GUI,支持多平台
2、一个R会话示例:**
age <- c(1,3,5,2,11,9,3,9,12,3)
weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
平均值
mean(weight)
标准差(反映数据离散程度)
sd(weight)
相关度
cor(age,weight)
绘图
plot(重点内容
列表内容
age,weight)
q()
3、工作空间:
用户定义的对象都会保存在工作空间(workspace)里,作为一个镜像,下次启动R会自动载入。可以用getwd()和setwd(“mydirectory”)查看和设置工作目录,不在工作目录的文件,调用时需要写绝对路径。
用于管理R工作空间的函数:
4、帮助文档:
help.start()
5、包:
包的安装
install.packages(“vcd”)
包的更新
update.packages()
查看已安装包的信息
installed.packages()
包的载入
library(vcd)
总结:这一章主要熟悉了R语言的开发环境RStudio,细节知识点并没有完全罗列出,目的是希望笔记能有尽可能少的信息量,抓住核心知识点,之后学习如果又发现这章的重点,会补充进去,迭代学习。
第2章:
1、按照个人要求的格式来创建含有研究信息的数据集,这是任何数据分析的第一步:(分以下两步)
选择一种数据结构来存储数据
将数据输入或导入到这个数据结构中
2、数据集:
数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。(不同的行业对于数据集的行和列叫法不同。统计学家称它们为观测(observation)和变量(variable),数据库分析师则称其为记录(record)和字段(field),数据挖掘/机器学习学科的研究者则把它们叫做示例(example)和属性(attribute)。)
3、数据类型:
R可以处理的数据类型(模式)包括数值型、字符型、逻辑型(TRUE/FALSE)、复数型(虚数)和原生型(字节)。
4 、数据结构:
R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。
向量:向量是用于存储数值型、字符型或逻辑型数据的一维数组。
a <- c(1,2,5,3,6,-2,4)
b <- c(“one”,”two”,”three”)
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)
同一向量中无法混杂不同模式的数据。
a[c(2, 4)]用于访问向量a中的第二个和第四个元素,a <- c(2:6)等价于a <- c(2,3, 4, 5, 6)。
矩阵:
矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix创建矩阵。一般使用格式为:
其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充。
创建矩阵:
y <- matrix(1:20,nrow=5,ncol=4)
y
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
cells <- c(1,26,24,68)
rnames <- c(“R1”,”R2”)
cnames <- c(“C1”,”C2”)
mymatrix <-matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))
mymatrix
C1 C2
R1 1 26
R2 24 68
下标使用:x <- matrix(1:10,nrow=2)
x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
x2, 2 4 6 8 10
x,2 3 4
x1,4 7
x1,c(4,5) 7 9
当维度超过2时,不妨使用数组。当有多种模式的数据时,不妨使用数据框。
数组:
其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大
值,而dimnames是可选的、各维度名称标签的列表。
dim1 <- c(“A1”,”A2”)
dim2 <- c(“B1”,”B2”,”B3”)
dim3 <- c(“C1”,”C2”,”C3”,”C4”)
z <- array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
z
, , C1
B1 B2 B3
A1 1 3 5
A2 2 4 6
, , C2
B1 B2 B3
A1 7 9 11
A2 8 10 12
, , C3
B1 B2 B3
A1 13 15 17
A2 14 16 18
, , C4
B1 B2 B3
A1 19 21 23
A2 20 22 24
元素z[1,2,3]为15。
数据框:
patientID <- c(1,2,3,4)
age <- c(25,34,28,52)
diabetes <- c(“Type1”,”Type2”,”Type1”,”Type1”)
status <- c(“Poor”,”Improved”,”Excellent”,”Poor”)
patientdata <- data.frame(patientID,age,diabetes,status)
patientdata
patientID age diabetes status
1 1 25 Type1 Poor
2 2 34 Type2 Improved
3 3 28 Type1 Excellent
4 4 52 Type1 Poor
patientdata[1:2]
patientID age
1 1 25
2 2 34
3 3 28
4 4 52
patientdata[c(“diabetes”,”status”)]
diabetes status
1 Type1 Poor
2 Type2 Improved
3 Type1 Excellent
4 Type1 Poor
patientdata$age
1 25 34 28 52
table(patientdata diabetes,patientdata status)
Excellent Improved Poor
Type1 1 0 2
Type2 0 1 0
attach(),detach,with():
summary(mtcars mpg)Min.1stQu.MedianMean3rdQu.Max.10.4015.4219.2020.0922.80