gpt4 book ai didi

r - dplyr group_by abs() 过滤数据

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

假设我有如下数据

A <- c(1,1,1,2,2,2,3,3,3)
B <- c(1,0,0,1,0,0,1,0,0)
C <- c(8,7,6,8,7,8,9,9,11)

D <- data.frame(A,B,C)
D

library(dplyr)

E <- D %>%
group_by(B) %>%
filter(abs(diff(C)) <= 1)

删除这些案例,以便删除显示为黄色的案例

enter image description here

换句话说,对于每个 a 身份,当我们评估 b=0 相对于 b=1 时,任何值c 超过 1 的差值。

最佳答案

根据描述,我认为您想要这样的东西:

D %>%
group_by(A) %>%
filter(abs(C - C[B == 1]) <= 1)
#Source: local data frame [7 x 3]
#Groups: A
#
# A B C
#1 1 1 8
#2 1 0 7
#3 2 1 8
#4 2 0 7
#5 2 0 8
#6 3 1 9
#7 3 0 9

关于r - dplyr group_by abs() 过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259673/

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