【发布时间】:2021-12-28 17:58:36
【问题描述】:
我正在努力研究如何使用变量的lag 计算组件的磨损。但是,我需要计算不同组的磨损,所以我使用group_by 函数,但这里有一个问题,当我使用我需要分组的变量时,这会导致一列“NA's”,但是当我通过对具有较少因子的另一个变量进行分组来进行测试时,计算有效。
我使用的数据框有4093902 行和52 行。我需要分组以执行磨损计算的变量具有90183 因子。我测试过的另一个有效的有11321 因素。
这是我正在使用的代码:
final_date = result_data %>%
arrange((time)) %>%
group_by(id_specific)%>%
mutate(wear = dplyr::lag(some_value, n = 1, default = NA) - some_value)
有谁知道分组是否有因素限制?或者关于如何执行此计算的任何其他提示?
【问题讨论】:
-
当我使用
id_specific列时,没有结果,只创建了NA -
对,但是该组的行数更多
-
我试过了,它只返回
NA'sforwear。 -
即你可以做` mutate(wear = rowSums(cbind(dplyr::lag(some_value, n = 1, default = NA), -1 * some_value), na.rm = TRUE))`
-
如果你想回答我标记为正确!