gpt4 book ai didi

R - 如果有的话如何集成到 dplyr 中?

转载 作者:行者123 更新时间:2023-12-04 12:19:46 27 4
gpt4 key购买 nike

我正在处理 claim 数据,其格式如下:-

claim  mem_number  year_month  label
1 123 2011-Jan Clinic
2 123 2011-Jan Lab
3 123 2011-Jan Office
4 234 2011-Jan office
5 234 2012-Feb Lab

我想按mem_number和year_month进行分组,并将所有这些标签隐藏到诊所,即使该组中的单个标签是诊所。输出应该是:-

Claim  mem_number  year_month  label
1 123 2011-Jan Clinic
2 123 2011-Jan Clinic
3 123 2011-Jan Clinic
4 234 2011-Jan Office
5 234 2012-Feb Lab

我解决这个问题的方法是:-

library("dplyr")

output<-input %>% group_by(mem_number,year_month) %>%
mutate(label=if(any(label=="Clinic","Clinic",NA)))

它给了我错误。我想知道我的错误以及如何解决它。

最佳答案

使用data.table,我会这样做:

require(data.table) # v1.9.6+
dt[dt[label == "Clinic"], label := "Clinic", on="mem_number"]

我们提取那些label ==“Clinic”的行。这允许我们使用与这些行相对应的mem_number。我们在 dt 上对这些行执行联接,对于每个匹配的行,我们使用值 “Clinic” 更新 label

正如 @Frank 指出的,如果您希望在 mem_numberyear_month 上进行连接,只需使用 on=c("mem_number",“年_月”)。我认为您所展示的示例没有必要。

关于R - 如果有的话如何集成到 dplyr 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33156991/

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