gpt4 book ai didi

r - 基于组和指定文本有条件地删除行

转载 作者:行者123 更新时间:2023-12-04 12:20:24 25 4
gpt4 key购买 nike

我发布了 question前面关于按组求和值,不包括低于 NA 或文本的值。这个问题是相似的,但不是按组求和,我想删除按 id(name 分组的特定文本(在这种情况下为 end)下面的所有值案子)。例如,

我想从这里出发:

#Starting df
name = c("tom", "tom", "tom", "chris", "chris", "chris","chris", "jen", "jen", "jen","jen","jen")
value = c(2,10,"end",45,"end",13,20,6,"end",13,3,5)
start_df = data.frame(name,value)

到这里:

#Ending df
name = c("tom", "tom", "tom", "chris", "chris","jen", "jen")
value = c(2,10,"end",45,"end",6,"end")
end_df = data.frame(name,value)

除了 end 之外还有其他文本,所以我希望找到一个允许我指定文本的解决方案。关于我如何做到这一点的任何想法?感谢 R 社区。

最佳答案

另一个基于 dplyr 的解决方案:

start_df %>%
group_by(name) %>%
mutate(rownum = row_number(), keeprows = (value=='end') * rownum) %>%
filter(rownum <= max(keeprows)) %>%
select(-keeprows)

关于r - 基于组和指定文本有条件地删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47245580/

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