gpt4 book ai didi

r - 根据不同的条件过滤不同的变量

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

我有一个深层嵌套数据和一个通过 purrr 在其上运行的函数。这是类似于我的案例的模拟数据和分析:

df <- tibble::tribble(
~A, ~B, ~C,
"e", 2L, 6L,
"e", 5L, 8L,
"e", 5L, 3L,
"f", 3L, 8L,
"f", 4L, 1L,
"f", 5L, 6L,
"g", 3L, 9L,
"g", 4L, 2L,
"g", 5L, 7L,
"h", 5L, 4L
)

我需要根据不同的条件过滤不同的变量。我需要做这样的事情:

df1 <- df %>% group_by(A) %>% 
nest() %>%
case_when(A == "e" ~filter(B<4),
A == "f" ~filter(C<=6),
A == "g" ~filter(B<5, C<7))

我想要的输出应该是:

desired_output <- tibble::tribble(
~A, ~B, ~C,
"e", 2L, 6L,
"f", 4L, 1L,
"f", 5L, 6L,
"g", 4L, 2L
)

最佳答案

我们可以针对不同的条件进行如下过滤。

library(tidyverse)

df %>%
filter((A %in% "e" & B < 4) |
(A %in% "f" & C <= 6) |
(A %in% "g" & B < 5 & C < 7))
# # A tibble: 4 x 3
# A B C
# <chr> <int> <int>
# 1 e 2 6
# 2 f 4 1
# 3 f 5 6
# 4 g 4 2

关于r - 根据不同的条件过滤不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50121305/

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