【发布时间】:2021-04-21 13:32:36
【问题描述】:
我正在尝试将大部分我最喜欢的 R 命令转移到 tidyverse。我通常在导入数据后首先检查的第一件事就是每个变量的格式,例如:
data(cars)
sapply(cars, class)
# speed dist
# "numeric" "numeric"
变成:
library(tidyverse)
exam.table %>%
sapply(class)
# speed dist
# "numeric" "numeric"
那么您将如何将其转置为tidyverse?旧版本是:
t(t(sapply(cars,class)))
# [,1]
# speed "numeric"
# dist "numeric"
【问题讨论】:
-
我不同意使用带有
sapply的管道比将其编写为函数调用更“整洁”。首先,管道不是 tidyverse 独有的,它是独立存在的,并且在 tidyverse 之前存在。其次,sapply是一个非常基本的 R 函数,没有什么 tidyversey 的地方。使用 tidyverse 函数的目的是避免来自基本 R 函数的陷阱,sapply有很多陷阱。 -
对不起,为了简单起见,我已经习惯使用
tidyverse包和管道内涵tidyverse来调用所有内容。如果我通过正确的包名称(即dplyr、gglot2、magrittr等)引用每个元素,我的学生会立即燃烧起来。是的,基本 R 命令没有任何问题,但我的学生再次希望尽可能多地使用管道 (doh)。