假设我有以下每个抽屉增加 socks 的数据
>socks
year drawer_nbr sock_total
1990 1 2
1991 1 2
1990 2 3
1991 2 4
1990 3 2
1991 3 1
我想要一个二进制变量来标识每个抽屉中的 socks 是否增加了。 1 表示增加,0 表示不增加。结果是
>socks
drawer_nbr growth
<dbl> <factor>
1 0
2 1
3 0
我一直在比较一年的
sock_total
与另一年的 sock_total
。我知道我需要使用 dplyr::summaries()
,但是我对该函数内部的内容有困难。 最佳答案
如果您将 1991 年与 1990 年进行比较,您可以执行以下操作:
socks %>%
group_by(drawer_nbr) %>%
summarise(growth = +(sock_total[year == 1991] - sock_total[year == 1990] > 0))
# A tibble: 3 x 2
# drawer_nbr growth
# <int> <int>
#1 1 0
#2 2 1
#3 3 0
关于r - 条件和分组变异 dplyr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45379465/