gpt4 book ai didi

r - 行的条件操作和汇总

转载 作者:行者123 更新时间:2023-12-05 08:36:53 25 4
gpt4 key购买 nike

大家好,

我有以下简化的数据框。

obj <- data.frame (id = c(1, 1, 2, 2, 3, 3, 4, 4),
yr = c(1990, 1991, 1990, 1991, 1990, 1991, 1990, 1991),
degree = c(1, 1, 1, 2, 1, 1, 0, 0)
)

请注意,我的真实 ID 的名称类似于 2.01811e+13

我想做的是:

我想创建一个新的数据框,其中每个 id 只列出一次并且应该包含值 1 或 0。

  • 值为 1,如果度数发生变化,则第一个 id 观察值为 1,第二个为 2。
  • 值为0,如果degree的值保持在1
  • 不列出它,如果 id 观察值类似于 0,0 或 2,2。

应该是这样的

 id value
1 0
2 1
3 0
4 do not list

提前致谢!

最佳答案

您还可以使用以下解决方案:

library(dplyr)

obj %>%
group_by(id) %>%
summarise(value = ifelse(first(degree) == 1 & nth(degree, 2) == 2, "1",
ifelse(all(degree == 1), "0", "do not list")))

# A tibble: 4 x 2
id value
<dbl> <chr>
1 1 0
2 2 1
3 3 0
4 4 do not list

关于r - 行的条件操作和汇总,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67348457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com