Rdata in science第一章
1.install.packages("tidyverse")
library(tidyverse)
2.代码①
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) ggplot() 创建了一个坐标系,ggplot() 的第一个参数是要在图中使用的数据集。gplot(data = mpg) 函数 geom_point() 向图中添加一个点层,这样就可以创建一张散点图。3.代码② 使用 hwy 和 cyl 绘制一张散点图。 ggplot(data = mpg) + geom_point(mapping = aes(x = cyl, y = hwy)) 4.代码③ 如果使用 class 和 drv 绘制散点图 ggplot(data = mpg) + geom_point(mapping = aes(x = class, y = drv)) 5图形属性映射 代码④ mpg 数据集中的 class 变量对汽车进行了分类,比如小型、中型和 SUV。 向二维散点图中添加第三个变量,比如 class,方式是将它映射为图形属性。 将点的颜色映射为变量 class,从而揭示每辆汽车的类型 ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = class)) #颜色 ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy), color = "blue")
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy),color = "green") 6.+ 号问题 (1)如果有一个 + 号,那么说明 R 认为你没有输入完整的表达式,正在等待你完成输入。 这种情况下,按 Esc 键中止当前执行的命令就可以重新开始 (2)将 + 号放错了位置:+ 必须放在一行代码的末尾, 7.分面 通过单个变量对图进行分面,可以使用函数 facet_wrap()。其第一个参数是一个公 式,创建公式的方式是在 ~ 符号后面加一个变量名 代码⑤
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_wrap(~ class, nrow = 2) 代码⑥ ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_grid(drv ~ cyl) 8.几何对象:它们各自使用不同的可视化对象来表示数据。在 ggplot2 语法中,我们称它们使用了不同的几何对象。 代码⑦ ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) 代码⑧ ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy)) 要想在同一张图中显示多个几何对象,可以向 ggplot() 函数中添加多个几何对象函数: 代码⑨ ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + geom_smooth(mapping = aes(x = displ, y = hwy)) 将一组映射传递给 ggplot() 函数。ggplot2 会将这些映射作为全局映射应用到图中的每个几何对象中。 代码⑩ ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point() + geom_smooth() 9.统计变换
stat(statistical transformation,统计变换) 每个统计变换函数都有一个默认几何对象 :geom_bar() 使用 stat_count() 代码① ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut)) 代码②
ggplot(data = diamonds) + stat_count(mapping = aes(x = cut)) 10 位置调整 #用 color 或者 fill(这个更有用)图形属性来为条形图上色 ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = cut)) #将 fill 图形属性映射到另一个变量(如 clarity),那么条形会自动分块堆叠 起来。每个彩色矩形表示 cut 和 clarity 的一种组合。 ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = clarity)) #position = "fill" 的效果与堆叠相似,但每组堆叠条形具有同样的高度,因此这种条 形图可以非常轻松地比较各组间的比例: ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = clarity),position = "fill") #position = "dodge" 将每组中的条形依次并列放置,这样可以非常轻松地比较每个条形表示的具体数值: ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = clarity),position = "dodge") 11.坐标系
coord_flip() 函数可以交换 x 轴和 y 轴。
ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + geom_boxplot() ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + geom_boxplot() + coord_flip() 11.图形分层语法