美文网首页
R_DATACAMP4 Data Visualization w

R_DATACAMP4 Data Visualization w

作者: 一条很闲的咸鱼 | 来源:发表于2018-08-06 11:32 被阅读0次

    使用GGPLOT2包进行数据可视化

    • Introduction简介

    geom_smooth可以用于散点图,拟合一条直线,可以用于做预测
    geom_point(alpha = 0.4)透明度,40%可见,60%透明

    dia_plot <- ggplot(diamonds, aes(x = carat, y = price))
    dia_plot + geom_smooth(aes(clarity = col), se = FALSE)其中SE = FALSE是取消灰色部分

    • Data数据

    lm()函数通常用来拟合回归模型

    ggplot(mtcars, aes(x = wt, y = mpg, col = cyl)) +
    geom_point() +
    geom_smooth(method = "lm", se = FALSE) +
    geom_smooth(aes(group = 1), method = "lm", se = FALSE, linetype = 2)

    facet_grid 将 grid 分成好几个面
    facet_grid(. ~ Measure)按measure分,measure中的变量为character

    geom_jitter()调整,消除点的重合

    • Aesthetics

    ggplot(mtcars, aes(x = wt, y = mpg, col = cyl)) +
    geom_point(shape = 2,size = 4)
    shape和size可以分别制定点的形状以及大小

    ggplot(mtcars, aes(x = wt, y = mpg, fill = cyl, col = am)) +
    geom_point(shape = 21, size = 4, alpha = 0.6)fill是填充,此时再用col分颜色的话,col这边就是边框颜色

    my_color <- "#4ABEFF"
    geom_point(color = my_color)根据颜色编号,改变散点图中所有点的颜色

    geom_text(label = rownames(mtcars), color = 'red')直接将文本信息加入散点图,即将散点替换为文本信息。

    ggplot(mtcars, aes(x = mpg, y = qsec, col = factor(cyl), shape = factor(am))) +
    geom_point()此处am和cyl都是num的类型,转化为factor后才好合理的展示出来。

    cyl.am +
    geom_bar(position = "dodge") +
    scale_x_discrete("Cylinders") +
    scale_y_continuous("Number") +
    scale_fill_manual("Transmission",
    values = val,
    labels = lab) 柱形图
    geom_bar(position = "stack")正常柱形图
    geom_bar(position = "fill")堆积柱形图
    geom_bar(position = "dodge") 百分比堆积柱形图

    scale_y_continuous(limits = c(-2,2))

    ggplot(diamonds, aes(x = carat, y = clarity, col = price)) +
    geom_point(alpha = 0.5, position = "jitter")此处的jitter应该还是为了消除点的重合,不过为什么是用position还是不太明白,后续知道了的话记得补充。

    • Geometries

    ggplot(mtcars, aes(x = cyl, y = wt)) +
    geom_point(position =position_jitter(0.1))
    ???jitter到底是啥意思
    ggplot(mtcars, aes(x = cyl, y = wt)) +
    geom_jitter(width = 0.1)

    ggplot(mtcars, aes(mpg)) +
    geom_histogram(aes(y = ..density..), binwidth = 1, fill = "#377EB8")
    直方图(仅限X为连续型变量)的构建,binwidth:组距
    density(一维密度估计),x(组的中心估计)——默认利用count和x;如若#要引用这几个变量,则在变量左右加双圆点,譬如 ..density..

    ggplot(mtcars, aes(x = cyl, fill = am)) +
    geom_bar(position = position_dodge(width = 0.2))柱状中,俩相邻的柱子部分重合

    位置调整参数:
    dodge:“避让”方式,即往旁边闪,如柱形图的并排方式就是这种。
    fill:填充方式, 先把数据归一化,再填充到绘图区的顶部。
    identity:原地不动,不调整位置
    jitter:随机抖一抖,让本来重叠的露出点头来
    stack:叠罗汉​

    geom_freqpoly()频数多边形图
    原理是跟直方图一样的,其中binwidth参数必须给出。
    ggplot(mtcars, aes(mpg, col = cyl)) +
    geom_freqpoly(binwidth = 1, position = "identity")

    ggplot(mtcars, aes(x = cyl, fill = am)) +
    geom_bar() +
    scale_fill_brewer(palette = "Set1")
    第三行为颜色的设置

    RColorBrewer包提供了3套很好的配色方案。用户只需要指定配色方案的名称,就可以用包中的brewer.pal()函数生成颜色
    连续型Sequential:生成一系列连续渐变的颜色,通常用来标记连续型数值的大小。
    极端型Diverging:生成用深色强调两端、浅色标示中部的系列颜色,可用来标记数据中的离群点。
    离散型Qualitative:生成一系列彼此差异比较明显的颜色,通常用来标记分类数据。
    display.brewer.all(type = "qual")展示离散型的全部颜色
    scale_fill_manual()自定义填充颜色,和 scale_fill_brewer对比之。

    • qplot and wrap-up

    The old way (shown)旧方法:

    plot(mpg ~ wt, data = mtcars) # formula notation
    with(mtcars, plot(wt, mpg)) # x, y notation

    Using ggplot:使用ggplot2:

    ggplot(mtcars, aes(x = wt, y = mpg)) +
    geom_point()

    Using qplot:使用qplot:

    qplot(wt, mpg, data = mtcars)
    qplot(wt, mpg, data = mtcars, size = factor(cyl))qplot的格式,会自动选择图表类型。

    在aes中或者qplot中时,size = ...时,num格式要使用factor()将其转化为factor格式

    geom_dotplot()

    ggplot(ChickWeight, aes(x = Time, y = weight, color = Diet)) +
    geom_line(aes(group = Chick), alpha = 0.3) +
    geom_smooth(lwd = 2, se = FALSE)
    折线图,其中group是分组,但是不是很明白smooth中的拟合线中lwd,se是什么意思

    • Statistics统计

    stat_smooth()这是啥意思?——散点图的拟合线
    geom_smooth(method = "lm", se = FALSE)method是规定拟合线的形状,此处为直线,se是把拟合线周围灰色部分去除

    scale_color_manual(values = ....)手动设置颜色

    stat_smooth(method = "loess", aes(group = 1, col = "All"),
    se = FALSE, span = 0.7)分组设置的拟合线,其中ALL是汇总在一起的拟合线。

    scale_color_gradientn(colors = brewer.pal(9, "YlOrRd"))当那个颜色包只有9个时,可以使用这个设置为渐变的

    stat_quantile()分位数回归
    stat_sum()

    scale_size()啥意思?怎么用?

    stat_summary()

    quantile()分位数

    • Coordinates and Facets协作...方面?

    scale_x_continuous(limits = c(3, 6), expand = c(0, 0))
    coord_cartesian(xlim = c(3, 6))
    coord_equal()
    coord_fixed()这几个图层都是什么意思

    stat_bin()

    geom_bar()饼图
    coord_polar(theta = "y")

    geom_bar(width = .1) 这里的0为什么要省去

    facet_grid()
    facet_grid 将 grid 分成好几个面
    facet_grid(.~ Name) # 按Name分面并且Name 内容显示在顶部
    fact_grid(Name~.) #按name分面,Name显示在右边
    facet_grid(Name~Left) #按两个参数分面 (参数1按行方式进行分面,参数2按列方式分面?)

    • Themes主题

    library(ggthemes)
    no_panels <- theme(rect = element_blank())
    z +
    no_panels +
    theme(plot.background = element_rect(fill = myPink, color = "black", size = 3))

    z +
    theme(panel.grid = element_blank(),
    axis.line = element_line(color = "red"),
    axis.ticks = element_line(color = "red"))

    theme(legend.position = )规定图例的位置

    theme_bw()
    theme_classic()
    theme_gray()
    theme_tufte()

    • Best Practices练习

    stat_summary绘制汇总数据
    ggplot(mtcars, aes(x = cyl, y = wt)) +
    stat_summary(fun.y = mean, geom = "bar", fill = "skyblue") +
    stat_summary(fun.data = mean_sdl, fun.args = list(mult = 1), geom = "errorbar", width = 0.1)

    library(GGally)
    ggparcoord()
    scale_fill_gradientn(colors = )是啥子意思?

    cf facet_wrap与facet_grid
    facet_wrap和facet_grid不同在于facet_wrap是基于一个因子进行设置,facets表示形式为:变量(单元格)
    而facet_grid是基于两个因子进行设置,facets表示形式为:变量变量(行列),如果把一个因子用点表示,也可以达到facet_wrap的效果,也可以用加号设置成两个以上变量

    • Case Study案列教学

    geom_histogram()直方图 是要设置宽度的,没有y值
    ggplot(adult, aes (x = SRAGE_P, fill= factor(RBMI))) +
    geom_histogram(binwidth = 1)

    table()

    library(reshape2)
    library(ggthemes)

    相关文章

      网友评论

          本文标题:R_DATACAMP4 Data Visualization w

          本文链接:https://www.haomeiwen.com/subject/mdexvftx.html