MIT:The Analytics Edge 笔记01-R语言入门

MIT课程 15.071x The Analytics Edge 第一单元的学习记录。


R语言入门

R语言入门只讲了一些常用的操作。相对于动辄花一本书来讲这些,真是相当简约。但其实足够了,其他操作,需要的时候再查嘛。
数据分析的四要素:data、models、decisions、value

简单使用

帮助:

?func

显示当前的临时变量:

ls()

获取/设置当前目录:

getwd()
setwd()

显示当前文件夹下的文件:

dir()

数据结构

向量概念:

所有的操作都是对向量的每个元素实施的

data.frame:

observation:行
variable   :列,data.frame是按照列存储的
rbind()合并两个data.frame

序列:

自动生成序列seq()

获取数据

读取CSV文件:

DF = read.csv("file_path")
# 返回值是data.frame

查看DF的基本信息:

str(DF)
# DF的结构信息。行和列的数目,列名、列的类型、列的数据举例。

summary(DF)
# 每列的最大值、最小值、中位数、平均数、1/4值、3/4值,以及是否包含空值。

写入CSV文件:

write.csv(DF, "file_path")

从内存中删除变量:

rm(DF)

数据操作

选取一部分数据:

subset( DF, 条件1 & 条件2 | 条件3)

按照列名选取3列:

DF[c(var1, var2, var3)]

选取1,3,5列:

DF[c(1, 3, 5)]

计算平均值和标准差:

mean(DF$var)
sd(DF$var)

返回最大值/最小值的位置(index):

which.max(DF$var)
which.min(DF$var)

返回行数:

nrow(DF)

绘图

直方图,反映一列数据的分布情况:

hist(DF$var, xlim = c(1, 100), breaks = 100)
# xlim 限定范围
# breaks x轴的精确度。注意是针对原始数据的,不是对限定后的

箱型图:

boxplot(DF$var1 ~ DF$var2, xlab = "x-label", ylab = "y-label", main = "title")

点阵图:

plot(......, col = "red")
line(......, col = "blue") # 在原先的基础上再加一条

函数jitter() # 对于有很多重合的点阵图,先用jitter偏移一点,这样看上去效果好很多

其他共通的参数:

col = "red"
type = "line" # 可以指定1,2,3,4,5

聚合

分组:

table(DF$var1)
# var1列中,每种数据的数量的统计
table(DF$var1, DF$var2)
# var1和var2列中,每种数据的数量的交叉统计

分组计算:

tapply(DF$var1, DF$var2, func)
# DF$var1, 原始数据
# DF$var2, 分组依据
# func, 要应用的函数