千里之行始于足下_R Basics

坚持做一件事很难,总会被最初的意外和后来的惰性扰乱而半路放弃。今天看到几句话,感觉说到心窝里了:

规律地做一些事情,据说可以增加对生活的掌控感,从而缓解焦虑。

对时间最好的利用,就是做自己想做的事情,并且全身心的享受每一刻。

这里就立一个Flag:每日一图,每天至少专注的做一件自己喜欢做的想做的事情。

这里就以推荐三本学习R画图的免费好书推荐的第一本书起航吧:R G raphics Cookbook

这本书主要基于ggplot2的绘图语法,以及tidyverse的数据清理方法。书中使用的数据和例子整合在gcookbook

所以首先安装载入需要的R包

1
2
3
4
5
6
7
8
9
install.packages(c("ggplot2", "gcookbook", "MASS", "dplyr","tidyverse"))

library(tidyverse)
library(gcookbook)
library(ggplot2)
library(dplyr)

# update
update.packages()

base plot与ggplot2的简单实例对比

Scatter plot

使用plot函数,仅需传递给plot两个变量:x, y

1
plot(mtcars$wt, mtcars$mpg)

使用ggplot2, 首先创建一个plot 对象,然后加一个点的图层。ggplot2通常以数据框为画图对象(mtcars),然后指明哪列是x, 哪列是y

1
2
3
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point()

Line Graph

Base plot新增line时,第一次以plot函数,第二次lines函数

1
2
3
4
5
6
7
8
9
# 左图
plot(pressure$temperature, pressure$pressure, type = "l")

# 右图
plot(pressure$temperature, pressure$pressure, type = "l")
points(pressure$temperature, pressure$pressure)

lines(pressure$temperature, pressure$pressure/2, col = "red")
points(pressure$temperature, pressure$pressure/2, col = "red")

ggplot2对图像的图形的选择需加上geom_line(),或者geom_point()

1
2
3
4
5
6
7
8
# 左图
library(ggplot2)
ggplot(pressure, aes(x = temperature, y = pressure)) +
geom_line()
# 右图,加points
ggplot(pressure, aes(x = temperature, y = pressure)) +
geom_line() +
geom_point()