gpt4 book ai didi

r - 变异 - NA 处理

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

我使用了排列和变异组合来根据分组进行添加。例如,我使用了以下内容:

master_df <-group_by(master_df,asof_dt)
mutate(master_df,tot_flag=ls_flag)

这会将我的数据框 master_df 按 asof_dt 分组,然后创建 tot_flag 并按日期添加 ls_flag。

但是,我的 ls_flag 列包含 NA。

我想做以下事情:1) 找出如何添加 ls_flag,忽略任何 NA2) 了解如何添加每天的 NA 总数。

这是完整的例子:

asof_dt<-c("2014-10-01","2014-10-01","2014-10-01","2014-10-02","2014-10-02","2014-10-02")
ls_flag<-c(1,1,NA,NA,1,1)
master_df<-data.frame(asof_dt,ls_flag)
master_df <-group_by(master_df,asof_dt)
mutate(master_df,tot_flag=sum(ls_flag))

非常感谢!

最佳答案

这是您想要的结果吗?您可以在 sum() 中使用 na.rm = TRUE 选项:

master_df %>%
group_by(asof_dt) %>%
mutate(tot_flag = sum(ls_flag, na.rm = TRUE),
tot_NA = sum(is.na(ls_flag)))

#Source: local data frame [6 x 4]
#Groups: asof_dt
#
# asof_dt ls_flag tot_flag tot_NA
#1 2014-10-01 1 2 1
#2 2014-10-01 1 2 1
#3 2014-10-01 NA 2 1
#4 2014-10-02 NA 2 1
#5 2014-10-02 1 2 1
#6 2014-10-02 1 2 1

或者您可能只是想要一个“摘要”(使用 summarise):

master_df %>%
group_by(asof_dt) %>%
summarise(tot_flag = sum(ls_flag, na.rm = TRUE),
tot_NA = sum(is.na(ls_flag)))
#Source: local data frame [2 x 3]
#
# asof_dt tot_flag tot_NA
#1 2014-10-01 2 1
#2 2014-10-02 2 1

关于r - 变异 - NA 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26806235/

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