gpt4 book ai didi

r - 计算 r 中的有效行数

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

我有一些行计数练习NA

这是一个包含 catid 变量的示例数据集。

df <- data.frame(cat=c("A","A","A","B","B","C","C","C","C"),
id = c(11,12,13,NA,NA,21,21,23,24))

> df
cat id
1 A 11
2 A 12
3 A 13
4 B NA
5 B NA
6 C 21
7 C 21
8 C 23
9 C 24

我想统计按 cat 分组的观察次数。

我试过了,但它也计算了 B 类的 NA

df.1 <- df %>% 
group_by(cat) %>%
dplyr::summarise(freq=n())

> df.1
# A tibble: 3 x 2
cat freq
<fct> <int>
1 A 3
2 B 2
3 C 4

我怎样才能不计算 NA 并简单地在该单元格中分配 NA,如下所示?

   > df.1
# A tibble: 3 x 2
cat freq
<fct> <int>
1 A 3
2 B NA
3 C 4

最佳答案

在逻辑向量(!is.na(id)complete.cases(id))上使用 sum 并替换 0使用 na_if

计入 NA
library(dplyr)
df %>%
group_by(cat) %>%
summarise(freq = na_if(sum(!is.na(id)), 0))

-输出

# A tibble: 3 × 2
cat freq
<chr> <int>
1 A 3
2 B NA
3 C 4

关于r - 计算 r 中的有效行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70840828/

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