tidyverse进阶(2)
Rmarkdown中输出中文pdf的格式设置
该模板在Rstudio中可以直接找到。
-
title: "tidyverse进阶(2)" author: - 逐禅 documentclass: ctexart keywords: - 中文 - R Markdown output: rticles::ctex: fig_caption: yes number_sections: yes toc: yes
根据名字特征选取变量的方式
library(tidyverse)
df <- tibble(
grp = rep(c("a", "b"), each = 5),
x = c(rnorm(5, -0.25, 1), rnorm(5, 0, 1.5)),
y = c(rnorm(5, 0.25, 1), rnorm(5, 0, 0.5))
)
df
df %>% select(starts_with("x"))
df %>% select(ends_with("x"))
df %>% select(contains("x"))
df %>% select(where(is.character))
df %>% select(where(is.numeric))
df %>% select(!where(is.character))
df %>% select(where(is.numeric)&starts_with("x"))
vars <- c("x","y","z")
dff <- tibble(
x=c("a","b","c"),
y=c("1,2,3")
)
#df %>% select(all_of(vars)) #all_of要满足df有vars中所有变量才能成功
dff %>% select(any_of(vars)) # any_of只需要df中存在一个vars中的变量就可以
重命名某列
df %>% rename(my=x) #直接对某列进行命名
df %>% rename_with(toupper) # 将所有列名转换为大写
df %>% rename_with(toupper,is.numeric) #将所有数值型变量转换为大写
df %>% rename_with(toupper,starts_with("x"))
调整列的位置
对于行变量的排序,可以使用'arrange()'函数
df %>% arrange(desc(abs(y))) #按x绝对值降序排序
如果想让group列放在x列的后面
df %>% select(x,grp,y) #直接把顺序写出来,但是对于变量比较多的时候比较麻烦
因此考虑使用'relocate()'函数,表示将选择的列(第一个参数)移动到某列之前或之后(.after或.before表示的变量)
df %>% relocate(grp,.after=y) # 将grp变量移动到变量y之后
df %>% relocate(x,.before=grp) # 将x变量移动到grp变量之前
df %>% relocate(grp,.after=last_col()) # 将grp变量移动到最后一列
后记
在Rmarkdown输出中文PDF的设置上,感觉还是不太懂,里面涉及了一些基础的LATEX语法,和设置,看来还是需要去熟悉一下LATEX基本的一些操作。这里附上我找到的一些LATEX资料
- LATEX基础手册
- latex入门手册
- LATEX模板
- 在线使用LATEX的网站
- 在线使用LATEX的网站2
- 超好用的LATEX在线平台
- 国内的LATEX模板
- LATEX资源
- 写的好的博客
- latex公式
- 部分内容参考了知乎
本文由mdnice多平台发布