看书标记【数据科学: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)
相关推荐
重生之我在20年代敲代码31 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文32 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
编程零零七3 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286114 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py4 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy4 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
C-SDN花园GGbond5 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处6 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ7 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
leon6257 小时前
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
开发语言·算法·matlab