tidyverse进阶(2)与LATEX学习资源汇总

157 阅读2分钟

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资料

本文由mdnice多平台发布