【发布时间】:2020-09-03 08:31:00
【问题描述】:
数据集是响应者的细分以及他们在给定时间段内的联系人数以及他们年龄段的详细信息,类似于:
participant participant_age contact contact_age
1 18-30 1 18-30
1 18-30 2 30-40
2 30-40 1 18-30
3 18-30 1 18-30
3 18-30 2 50-60
我的目标是计算每个年龄段的参与者与每个年龄段的接触者的平均接触次数。类似于:
age_bracket 18-30 30-40 40-50
18-30 1 3 2
30-40 1.5 4 2
40-50 3 4 1
我一直在尝试使用 dplyr 中的 group_by 和 spread 函数。我最接近的是使用
data%>%
group_by(participant_age, contact_age) %>%
tally() %>%
spread(key = participant_age, value = n)
但这会产生每个联系人的总数 (n),而不是每个年龄段的平均联系人数。
【问题讨论】:
-
如何将第一行 30-40 列的值设为 3?
-
不是实际数据,只是一个例子