gpt4 book ai didi

r - 填充数据框中缺少的组合

转载 作者:行者123 更新时间:2023-12-04 11:01:10 26 4
gpt4 key购买 nike

我的示例数据集:

df <- data.frame(
REGION = c("REGION A", "REGION A", "REGION B"),
CATEGORY = c("A", "B", "B"),
VALUE1 = c(2,3,4),
VALUE2 = c(1,2,3)
)

结果:
  REGION    CATEGORY VALUE1 VALUE2
1 REGION A A 2 1
2 REGION A B 3 2
3 REGION B B 4 3

现在,我希望数据集中未考虑的 REGION 和 CATEGORY 的每个组合都填充为 0 的 VALUE1 和 VALUE2。此 df 的结果应该:
      REGION   CATEGORY VALUE1 VALUE2
1 REGION A A 2 1
2 REGION A B 3 2
3 REGION B A 4 3
4 REGION B B 0 0

我已经为它编写了一个大函数,它生成一个带有 for 循环的动态字符串,但我觉得有一种更简单的方法可以只用几行代码来完成。我想我想得太复杂了。有任何想法吗?先感谢您。

最佳答案

使用 complete来自 tidyr:

library(tidyr)
as.data.frame(complete(df,REGION,CATEGORY,fill=list(VALUE1=0,VALUE2=0)))

输出:
    REGION CATEGORY VALUE1 VALUE2
1 REGION A A 2 1
2 REGION A B 3 2
3 REGION B A 0 0
4 REGION B B 4 3

如果有很多变量,你也可以只做 as.data.frame(complete(df,REGION,CATEGORY))并替换 NA之后。

希望这可以帮助!

关于r - 填充数据框中缺少的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46685510/

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