gpt4 book ai didi

仅返回基于另一个变量的第一个实例

转载 作者:行者123 更新时间:2023-12-02 05:32:41 25 4
gpt4 key购买 nike

我有一个 ID 列表(有些是重复的),我有一个 KEEP多变的。如果 KEEP 列中有这样的实例,我想创建一个 1 或 0 的列,即使它不是那个特定的列

id <- c(101,101,101,102,102,102,103,103,103,104,104,106,107,108)
keep <- c("Y",0,0,"Y",0 ,0 ,"Y" ,0 ,0 ,0 ,0 ,0 ,0 ,0)
df <- data.frame(id, keep)

如果在所有匹配的 ID 的保留列中有一个 Y,我想创建一个具有 1 的第三列。

它应该看起来像这样。
> df

id keep countkeep
1 101 Y 1
2 101 0 1
3 101 0 1
4 102 Y 1
5 102 0 1
6 102 0 1
7 103 Y 1
8 103 0 1
9 103 0 1
10 104 0 0
11 104 0 0
12 106 0 0
13 107 0 0
14 108 0 0

最佳答案

library(dplyr)
df %>% group_by(id)%>% mutate(countkeep = ifelse(any(keep=="Y"),1,0))

id keep countkeep
<dbl> <fctr> <dbl>
1 101 Y 1
2 101 0 1
3 101 0 1
4 102 Y 1
5 102 0 1
6 102 0 1
7 103 Y 1
8 103 0 1
9 103 0 1
10 104 0 0
11 104 0 0
12 106 0 0
13 107 0 0
14 108 0 0

关于仅返回基于另一个变量的第一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047043/

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