gpt4 book ai didi

R:根据其他列条件比较列中的元素?

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

我想根据每个主题的第二个或第三个条件是否大于第一个条件来创建一个新的df。

示例 df:

df1 <- data.frame(subject = rep(1:5, 3),
condition = rep(c("first", "second", "third"), each = 5),
values = c(.4, .4, .4, .4, .4, .6, .6, .6, .6, .4, .6, .6, .6, .4, .4))
> df1
subject condition values
1 1 first 0.4
2 2 first 0.4
3 3 first 0.4
4 4 first 0.4
5 5 first 0.4
6 1 second 0.6
7 2 second 0.6
8 3 second 0.6
9 4 second 0.6
10 5 second 0.4
11 1 third 0.6
12 2 third 0.6
13 3 third 0.6
14 4 third 0.4
15 5 third 0.4

生成的 df 将是这样的:

> df2
subject condition values
1 1 first 0.4
2 2 first 0.4
3 3 first 0.4
4 4 first 0.4
6 1 second 0.6
7 2 second 0.6
8 3 second 0.6
9 4 second 0.6
11 1 third 0.6
12 2 third 0.6
13 3 third 0.6
14 4 third 0.4

此处,主题 #5 不符合标准。这是因为只有主题 #5 的值在第二个或第三个条件中不大于第一个条件。

谢谢。

最佳答案

如果第二个或第三个“值”中的任何一个大于“第一个”,我们可以按“主题”和过滤器进行分组

library(dplyr)
df1 %>%
group_by(subject) %>%
filter(any(values[2:3] > first(values))) %>%
ungroup

-输出

# A tibble: 12 × 3
subject condition values
<int> <chr> <dbl>
1 1 first 0.4
2 2 first 0.4
3 3 first 0.4
4 4 first 0.4
5 1 second 0.6
6 2 second 0.6
7 3 second 0.6
8 4 second 0.6
9 1 third 0.6
10 2 third 0.6
11 3 third 0.6
12 4 third 0.4

关于R:根据其他列条件比较列中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71629309/

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