【发布时间】:2018-04-24 05:01:44
【问题描述】:
在此示例中,我想将 count() 函数应用于数据集中的每个字符变量。
library(dplyr)
library(purrr)
nycflights13::flights %>%
select_if(is.character) %>%
map(., count)
但我收到错误消息:
Error in UseMethod("groups") : no applicable method for
'groups' applied to an object of class "character"
我不确定如何解释错误消息或更新我的代码。类似的代码适用于数值变量,但因子变量会产生与字符变量类似的错误消息
nycflights13::flights %>%
select_if(is.numeric) %>%
map(., mean, na.rm = TRUE)
nycflights13::flights %>%
select_if(is.character) %>%
mutate_all(as.factor) %>%
map(., count)
【问题讨论】:
-
您希望输出到底是什么?
count()并不打算用于字符向量——你会得到与count(letters[1:10])相同的错误。 -
count旨在处理数据框,而不是向量。 -
@MrFlick 我希望查看数据集中每个字符变量的唯一值计数。
-
你要么想要
map(., table)要么%>% count(.)但他们执行不同的事情 -
但是您期望的数据结构类型是什么?包含两列(值、计数)的 data.frames 列表?