看书标记【数据科学:R语言实战 8】

看书标记------R语言

  • [Chapter 8 数据可视化------绘图](#Chapter 8 数据可视化——绘图)
      • [8.1 功能包](#8.1 功能包)
      • [8.2 散点图](#8.2 散点图)
      • [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)
相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788114 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024066 小时前
jQuery 杂项方法
开发语言
赵琳琅6 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
夏梓蕙8 小时前
Elixir语言的软件开发工具
开发语言·后端·golang