【问题标题】:Retrieve frequency R检索频率 R
【发布时间】: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 &lt;- dat %&gt;% group_by(Subject) %&gt;% summarize(sum(Familiarity==0))
  • 但还是想知道为什么上面的方法不起作用:(!
  • 因为sum 不是dplyr 函数,并且您正在管道dplyr 函数,其中频率等计算正确地放入summarize(或tally,在这种情况下) ;喜欢dat %&gt;% group_by(Subject) %&gt;% tally(Familiarity==0)

标签: r frequency


【解决方案1】:

您错过了总结部分以及命名新变量。 这对你有用吗?

freq <- dat %>%
    group_by(Subject) %>% 
    summarize(Number_of_1s = sum(Familiarity))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 2022-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多