课程: datacamp, Introduction to the Tidyverse
https://campus.datacamp.com/courses/introduction-to-the-tidyverse/grouping-and-summarizing?ex=6
%>%
管道函数
filter(条件)
筛选cases
select(变量名)
筛选变量
括号内可以:
顺序问题:
ratings %>%
select(channel, everything(), -ends_with("day"))
everything()
is a great little helper! If it had been placed at the end, it would have added back in all the columns that end with “day”. Placing it before deselecting columns.
arrange
根据一个变量正序或倒序排列整个dataset
arrange(变量)
正序arrange(desc(变量))
倒序mutate(计算公式)
修改原变量或者计算新变量
summarize(计算公式)
统计分析
group_by(变量)
分类统计,可以是1个或多个变量
gapminder %>%
group_by(year) %>%
summarize(medianLifeExp = median(lifeExp),
maxGdpPercap = max(gdpPercap))
# 查看 bakeoff 数据中 result 变量的值的种类
bakeoff %>%
distinct(result)
# 计算每个唯一值的个数
bakeoff %>%
count(result)
> bakeoff %>%
count(result == "SB")
# A tibble: 2 x 2
`result == "SB"` n
1 FALSE 488
2 TRUE 61
# 连续 count
bakeoff %>%
count(series, episode) %>%
count(series)
bakers_by_series %>%
count(baker, sort = TRUE)
# 统计完之后,按照 数量n 倒序排列
recode
类似于 MS 里面的“查找-替换”功能
与 mutate 函数结合可以生成新变量或者在原变量的基础上进行替换
recode(.x, ..., .default = NULL, .missing = NULL)
desserts %>%
mutate(nut = recode(nut, "filbert" = "hazelnut"))
.x
想要处理的向量
...
替换规则, old values = new values
.default
类似于 spss 里面的 ELSE,可设也可不设。设置的话
.missing
类似于 spss 里面的 MISSING
不同数据类型的缺失值写法不同:
NA_character_
for missing value for a character variable,
NA_integer_
for missing integer data
NA
value is of the logical type.
Remember that when recoding numeric variables, you need to put the old value in backticks, for example, 5
= 6. ONLY old value!
numeric 要在数字上加 `` backticks(反引号) 符号。例如:
`0` = NA_character_
# 把原来的numeric 类型的变量变为 character 类型。同时把 数字 0 变成 NA缺失。
ggplot(gapminder, aes(x = gdpPercap, y = lifeExp, color = continent, size = pop))+
geom_point()+
scale_x_log10()+
facet_wrap(~ year) +
expand_limits(y = 0)
ggplot(数据集,变量到图形的映射) +
图层
图形 | 函数 | 变量个数 | 应用场景 | 备注 |
---|---|---|---|---|
scatter plot | geom_point() |
2个连续变量 | 呈现关系趋势 | |
line plot | geom_line() |
2个变量,x-time, y-focus var | 呈现随时间变化的趋势 | |
bar plot | geom_col() |
2个变量,x-分类变量, y-连续变量 | 呈现两个变量的交叉分析结果 | col is short for column。 bar plot 的纵轴一般是从 0 开始,不用设置 expand_limits(y = 0) 。 |
histogram | geom_histogram() |
1 个连续变量 | 单变量数据的分布 | 映射aes 里只有x。geom_histogram(bins = 5) bins设置组距。 |
box plot | geom_boxplot() |
可以2个变量,x-分类变量, y-连续变量 | 按照 x 的分类,比较 y 的分布(优于 histogram的地方) |
log scale
· scale_x_log10()
把 x 轴的尺度变为以 log10 为单位。
分面
· facet_wrap(~ 分面的变量)
设定坐标轴的起始位置
· expand_limits(y = 0)
给图形添加 标题
· labs(title = "Comparing GDP per capita across continents")
· ggtitle("Comparing GDP per capita across continents")