r - 添加一列以指示某个项目在不同时间戳中的存在

标签 r dataframe if-statement dplyr

我有一个数据集,其中包含时间 t1 和 t2 的树木测量值。这些树木按州、县、地 block 和树木编号进行标识。在 t1 和 t2 之间的时间间隔内,有一些树已经死亡。

State   County   Plot    Tree     Meas_yr
1       9        1       1        t1 
1       9        1       2        t1
1       9        1       3        t1
1       9        1       1        t2
1       9        1       2        t2

我正在尝试创建一个二进制标签,如果树同时存在于 t1 和 t2 中,则为 1;如果树存在于 t1 中但不存在于 t2 中,则为 0 。我希望能创造出这样的东西。

State   County   Plot    Tree     Meas_yr  tree_survival
1       9        1       1        t1       1
1       9        1       2        t1       1
1       9        1       3        t1       0
1       9        1       1        t2       1
1       9        1       2        t2       1

我非常感谢您的帮助。 提前致谢。

编辑:我有一个后续问题。与上面的数据集类似,有一些新树在时间 t2 中生长,但在时间 t1 中不存在。如何创建另一个标签,其中仅存在于 t2 中的树为 1,其他树为 0。

最佳答案

我们可以使用

library(dplyr)
df1 %>%
    group_by(State, County, Plot, Tree) %>%
    mutate(available = +('t2' %in% Meas_yr))

关于r - 添加一列以指示某个项目在不同时间戳中的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73737118/

相关文章:

r - 从 R 中的 jpeg 图像中提取 RGB channel

python - Pandas - 根据列名和行值应用样式/格式

javascript - Drop down 中的数据绑定(bind)

javascript - 检查是否定义了 javascript 对象/属性

r - 使用 `which()` 获取匹配项的行和列索引

r - 如何找到大于或等于 a 的值,然后在 R 中找到这些最大值中的最小值?

r - 为 DBSCAN (R) 选择 eps 和 minpts?

python - 图实验室 : replacing values in Sframe and filtering

python - Pandas 不会就地 fillna()

c - 如果计算的变量不是整数,如何继续执行下一行代码