首页 > 解决方案 > 在每个参与者的变量内计算

问题描述

我有一个包含 18 个参与者和每个参与者 350 个条目的数据集。我有一个特定变量(谈话),其代码为 1(是)或 0(否)。我想计算每个参与者从 0 切换到 1 的次数,并添加一个包含这些值的列。我尝试在整个数据集中使用聚合,但我不想要平均值,只是它切换的 n 次。

数据样本:

    VP code
    1a      0
    1a      1
    1a      0
    1a      1
    ...
    1b      0
    1b      1
    1b      0
    1b      1

期望的输出:

    VP switch
    1a      2
    1b      2
    2a      2
    2b      2
    ...

本质上,我有 2 个参与者在交互,我想看看他们轮流的次数(即他们切换谈话的次数)。

有什么建议吗?非常感谢。

标签: r

解决方案


另一种选择是折叠toString然后使用str_countfrom stringr

transform(
  aggregate(code ~ VP, FUN = toString, data = df),
  code = stringr::str_count(code, '0, 1')
)

输出:

  VP code
1 1a    2
2 1b    2

推荐阅读