看书标记------R语言
- [Chapter 8 数据可视化------绘图](#Chapter 8 数据可视化——绘图)
-
-
- [8.1 功能包](#8.1 功能包)
- [8.2 散点图](#8.2 散点图)
-
- [8.2.1 回归线](#8.2.1 回归线)
- [8.2.2 lowess线条](#8.2.2 lowess线条)
- [8.2.3 scatterplot函数](#8.2.3 scatterplot函数)
- [8.2.4 Scatterplot矩阵](#8.2.4 Scatterplot矩阵)
- [8.2.5 密度散点图](#8.2.5 密度散点图)
- [8.3 直方图和条形图](#8.3 直方图和条形图)
-
- [8.3.1 条形图](#8.3.1 条形图)
- [8.3.2 直方图 8.3.3 ggplot2](#8.3.2 直方图 8.3.3 ggplot2)
- [8.3.4 词云](#8.3.4 词云)
-
【数据科学:R语言实战】
Chapter 8 数据可视化------绘图
8.1 功能包
- car(Companion to Applied Regression):回归工具
- lattice:实现高级数据可视化
- gclus:创建散点图
- MASS
- ggplot2
8.2 散点图
plot()
- 参数
x 自变量
y 因变量
type p点、l线、b两者、c指b的直线部分、o两者图形叠加部分、h柱状图垂线、s楼梯阶层、S其他阶层、n无绘图
main 标题
sub 副标题
xlab x轴标记
ylab y轴标记
asp 纵横比
r
data <- read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data") ##iris数据集
colnames(data) <- c("sepal_length", "sepal_width", "petal_length", "petal_width", "species")
summary(data)
plot(data$sepal_length, data$petal_length) ##常规
plot(data$sepal_length, data$petal_length, type="s") ##s步骤和h柱状图
plot(data$sepal_length, data$petal_length, type="h")
8.2.1 回归线
abline()
- 参数
a 截距
b 斜率
h 画水平线
v 画垂直线
coef 仅包含截距和斜率
reg coef的对象
r
abline(lm(data$petal_length~data$sepal_length), col="red")
8.2.2 lowess线条
lowess线条是用加权多项式回归进行计算的平滑线。
lowess()
- 参数
x 待用点向量
y y轴,默认"NULL"
f 较平滑跨度越大越平滑,默认2/3
iter 迭代次数,默认为3,迭代次数越多时间越长
delta 界定计算数值的密切度,默认值为x范围的1/100
r
lines(lowess(data$sepal_length,data$petal_length), col="blue")
8.2.3 scatterplot函数
scatterplot()
- 参数
x、y 坐标向量
formula y~x 或者 y~x|z(按z分组绘图)
las "0"创建与坐标轴平行的刻点标记,"1"创建水平标记
lwd 线宽,默认1
lty 线类型,默认1
id.method/id.n/id.cex/id.col 标记点参数
labels 点标记的向量
log 是否使用点的标记比例尺
xlim、ylim 轴限度
r
library(car)
scatterplot(data$sepal_length, data$petal_length) ##有内置箱线图、简单回归线、平滑线、平滑抖动范围
8.2.4 Scatterplot矩阵
r
pairs(data) ##矩阵数据
1.splom------展示矩阵数据
library(lattice);splom(data)
or
library(car);scatterplot.matrix(data) ##含有的数据信息更多
2.cpairs------绘图矩阵图
r
library(gclus)
cpairs(data) ##cpairs对矩阵数据起辅助作用
df <- subset(data, select = -c(species) ) ##cor函数只以数据点形式运行
df.r <- abs(cor(df)) ##计算相关性
df.col <- dmat.color(df.r) ##依相关性为每个子图指定颜色,不适用于多类别颜色
df.o <- order.single(df.r)
cpairs(df, df.o, panel.colors=NULL)
8.2.5 密度散点图
hexbin()提供了一项能够展示两个变量中高度重复的机制
r
library(hexbin)
bin<-hexbin(data$sepal_length, data$petal_length)
summary(bin) ##默认30箱,生成36*31网格的六边形,最低网格1,最高网格1114,传播状况良好,网格计数均值1.38,表明重复度不足
#plot(bin)
bin<-hexbin(data$sepal_length, data$petal_length, xbins=10) ##改用10个箱子后,密度数量有变好
summary(bin)
plot(bin)
8.3 直方图和条形图
8.3.1 条形图
barplot()
- 参数
height 主要的数据向量
width 条宽向量
space 每条左侧的空间大小
**names.arg ** 名称向量
legend.text 绘制图标
r
library(MASS)
HairEyeColor
summary(HairEyeColor)
counts <- table(HairEyeColor)
barplot(counts) ##堆叠图
count <- table(Cars93$Cylinders)
barplot(count)
count <- table(Cars93$Cylinders, Cars93$Manufacturer)
barplot(count)
8.3.2 直方图 8.3.3 ggplot2
count <- table(Cars93 C y l i n d e r s , C a r s 93 Cylinders, Cars93 Cylinders,Cars93Manufacturer)
barplot(count)
library(ggplot2)
qplot(Cars93$Cylinders)
8.3.4 词云
r
page <- readLines("http://finance.yahoo.com") ##读取文本
corpus = Corpus(VectorSource(page)) ##语料库
corpus <- tm_map(corpus, tolower) ##小写
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, PlainTextDocument) ##将语料库重新配置为文本文档
dtm = TermDocumentMatrix(corpus)
m = as.matrix(dtm) ##转换为文本矩阵
v = sort(rowSums(m), decreasing = TRUE)
wordcloud(names(v), v, min.freq = 10)