【发布时间】:2020-06-23 06:54:56
【问题描述】:
我想为每个用户将一个向量的元素分配给另一个向量的元素。
例如:
在具有变量“用户”、“活动”和“分钟”(见下文)的数据框中,我想分配例如第一个活动的持续时间(4 分钟)(活动 4 分钟)用户 1 的 "READ") 到新变量 READ_duration。然后将第二个活动(“EDIT”)的持续时间(5 分钟)添加到新变量 EDIT_duration。以及第三个活动的持续时间(2 分钟)(同样是“READ”)到新变量 READ_duration。
user <- 1,2,3
activities <- c("READ","EDIT","READ"), c("READ","EDIT", "WRITE"), c("WRITE","EDIT")
minutes <- c(4,5,2), c(3.5, 1, 2), c(4.5,3)
输出应该是这样的:在分配了活动分钟数的数据框中:
user READ_duration EDIT_duration WRITE_duration
1 6 5 0
2 3.5 1 2
3 0 3 4.5
这里的棘手的事情是算法需要考虑到每个用户的活动顺序不同。例如,用户 3 从写入开始,因此需要将持续时间 4.5 分配给第 4 列 WRITE_duration。
另外,由于用户数量庞大,需要循环功能。
非常感谢您的帮助!!
【问题讨论】: