【发布时间】:2020-11-24 18:24:07
【问题描述】:
我有一个包含 7 列的数据集,其中包含数字作为字符串数据。我想获取某一列(熟悉度)的 1 和 0 的频率,按不同的列(主题)分组。
主题包含以下类型的数据:s120、s121 等。 熟悉度包含以下类型的数据:1、0
我尝试了以下方法:
freq <- dat %>%
group_by(Subject) %>%
sum(dat$Familiarity==0)
但这给了我以下错误:
FUN(X[[i]], ...) 中的错误: 仅在具有所有数值变量的数据框上定义
这是否意味着我必须转换整个数据框才能使其正常工作?或者我该如何解决这个问题。
【问题讨论】:
-
我已经使用以下方法解决了这个问题:
freq1 <- dat %>% group_by(Subject) %>% summarize(sum(Familiarity==0)) -
但还是想知道为什么上面的方法不起作用:(!
-
因为
sum不是dplyr函数,并且您正在管道dplyr函数,其中频率等计算正确地放入summarize(或tally,在这种情况下) ;喜欢dat %>% group_by(Subject) %>% tally(Familiarity==0)