gpt4 book ai didi

r - R中有没有一种方法可以根据条件合并行?

转载 作者:行者123 更新时间:2023-12-05 09:25:53 26 4
gpt4 key购买 nike

我有这个数据框,其中每个 cod_user 每个月都有存在 (1) 或不存在 (0)。对于收集所有值的每个 cod_user,我想将行中的值合并为一行。

# A tibble: 24 × 5
cod_user ene feb mar abr
<chr> <dbl> <dbl> <dbl> <dbl>
1 ES7823 1 NA NA NA
2 AR3442 1 NA NA NA
3 CO9382 1 NA NA NA
4 ES5611 1 NA NA NA
5 IT9982 1 NA NA NA
6 PT6628 1 NA NA NA
7 ES7823 NA 1 NA NA
8 AR3442 NA 1 NA NA
9 CO9382 NA 0 NA NA
10 ES5611 NA 1 NA NA
11 IT9982 NA 1 NA NA
12 PT6628 NA 0 NA NA
13 ES7823 NA NA 1 NA
14 AR3442 NA NA 1 NA
15 CO9382 NA NA 0 NA
16 ES5611 NA NA 1 NA
17 IT9982 NA NA 0 NA
18 PT6628 NA NA 0 NA
19 ES7823 NA NA NA 0
20 AR3442 NA NA NA 1
21 CO9382 NA NA NA 0
22 ES5611 NA NA NA 1
23 IT9982 NA NA NA 0
24 PT6628 NA NA NA 0

我希望我的输出看起来像这样:

  cod_user   ene   feb   mar   abr
<chr> <dbl> <dbl> <dbl> <dbl>
1 ES7823 1 1 1 0
2 AR3442 1 1 1 1
3 CO9382 1 0 0 0

有人可以帮助我吗?谢谢。

最佳答案

将数据 reshape 为长格式,去掉 NA 并 reshape 回宽格式。

suppressPackageStartupMessages({
library(dplyr)
library(tidyr)
})

df1 %>%
pivot_longer(-cod_user) %>%
drop_na() %>%
pivot_wider(cod_user)
#> # A tibble: 6 × 5
#> cod_user ene feb mar abr
#> <chr> <int> <int> <int> <int>
#> 1 ES7823 1 1 1 0
#> 2 AR3442 1 1 1 1
#> 3 CO9382 1 0 0 0
#> 4 ES5611 1 1 1 1
#> 5 IT9982 1 1 0 0
#> 6 PT6628 1 0 0 0

创建于 2022-12-18 reprex v2.0.2


数据

df1 <- "cod_user   ene   feb   mar   abr
1 ES7823 1 NA NA NA
2 AR3442 1 NA NA NA
3 CO9382 1 NA NA NA
4 ES5611 1 NA NA NA
5 IT9982 1 NA NA NA
6 PT6628 1 NA NA NA
7 ES7823 NA 1 NA NA
8 AR3442 NA 1 NA NA
9 CO9382 NA 0 NA NA
10 ES5611 NA 1 NA NA
11 IT9982 NA 1 NA NA
12 PT6628 NA 0 NA NA
13 ES7823 NA NA 1 NA
14 AR3442 NA NA 1 NA
15 CO9382 NA NA 0 NA
16 ES5611 NA NA 1 NA
17 IT9982 NA NA 0 NA
18 PT6628 NA NA 0 NA
19 ES7823 NA NA NA 0
20 AR3442 NA NA NA 1
21 CO9382 NA NA NA 0
22 ES5611 NA NA NA 1
23 IT9982 NA NA NA 0
24 PT6628 NA NA NA 0"
df1 <- read.table(textConnection(df1), header = TRUE)

创建于 2022-12-18 reprex v2.0.2

关于r - R中有没有一种方法可以根据条件合并行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74840306/

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