gpt4 book ai didi

r - 如何自动计数()每个变量

转载 作者:行者123 更新时间:2023-12-04 02:31:46 24 4
gpt4 key购买 nike

我正在清理一些数据,喜欢使用 dplyr 中的 count() 函数来查看每个变量的唯一值。
有没有办法自动执行此操作?现在我正在使用这种方法:

df %>% count(variable1)
df %>% count(variable2)
df %>% count(variable3)
...

我想要一些可以返回所有变量的东西,而不必重复代码行并输入每个变量。我考虑过尝试让 R 识别所有列名并自动填写它们,但我不确定从哪里开始。如果我只是将变量加在一起,比如说

df %>% count(变量1, 变量2)

当我想要每个变量的单独表格时,我会通过这两个变量获得计数。

最佳答案

假设您要统计 mtcars 中的 amgearcarb。您可以通过 map() 在每个变量上应用函数 table(),它返回一个 list 对象。

library(dplyr)
library(purrr)

mtcars %>%
select(am, gear, carb) %>%
map(table)

# $am
# 0 1
# 19 13
#
# $gear
# 3 4 5
# 15 12 5
#
# $carb
# 1 2 3 4 6 8
# 7 10 3 10 1 1

基础版本:

lapply(mtcars[c("am", "gear", "carb")], table)

此外,您可以使用summary(),它计算因子变量。

mtcars %>%
select(am, gear, carb) %>%
mutate(across(.fn = as.factor)) %>%
summary

# am gear carb
# 0:19 3:15 1: 7
# 1:13 4:12 2:10
# 5: 5 3: 3
# 4:10
# 6: 1
# 8: 1

关于r - 如何自动计数()每个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63848845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com