【发布时间】:2021-12-27 03:17:36
【问题描述】:
我有同一国家同一年份的多行数据。我想让它在一个国家/地区的特定年份只有 1 行数据。我希望我的指标变量是同一国家同一年所有行的最大可能值例如,我的数据当前如下所示:
| country | Year | Trial |
|---|---|---|
| Afghanistan | 1980 | 1 |
| Afghanistan | 1980 | 0 |
| Afghanistan | 1981 | 0 |
| Afghanistan | 1981 | 0 |
| Afghanistan | 1982 | 1 |
| Afghanistan | 1982 | 1 |
我想让它看起来像:
| country | Year | presenceofTrial |
|---|---|---|
| Afghanistan | 1980 | 1 |
| Afghanistan | 1981 | 0 |
| Afghanistan | 1982 | 1 |
对于 1980 年,由于我的第一行是 1,而我的第二行是 0,所以 1980 年的最后也是唯一的一行应该取最大值,即 1,等等。
我目前正在使用代码:
dataset %>% group_by(country, Year) %>%
summarise(
presenceofTrial = max(dataset$Trial))
但是,无论 1 是否实际在原始表中,它只会为每一行返回 1。我该如何解决这个问题?
【问题讨论】:
-
=用于赋值,==用于比较。您也不应该在dplyr函数中使用dataset$,因为它占用了整个向量的最大值,而不是逐列 -
是的,我想将 Trial 的最大值赋给变量 presentofTrial
-
知道了,现在可以使用了。感谢您的帮助!