gpt4 book ai didi

r - 如何使用 dplyr 在行组之间进行划分

转载 作者:行者123 更新时间:2023-12-04 10:15:18 25 4
gpt4 key购买 nike

我有类似的数据,我想要这个链接所说的确切结果:
How to divide between groups of rows using dplyr?

但是,与我的数据的唯一区别是,有时列“条件”并不总是有“A”或“B”,因此有时没有分母或分子。

x <- data.frame(
name = rep(letters[1:4], each = 2),
condition = rep(c("A", "B"), times = 4),
value = c(2,10,4,20,8,40,20,100)
)
x = x[-c(4,5),] #this is my dataframe

我想删除并不总是同时包含 A 和 B 的行并继续除法。谁能告诉我如何根据此代码执行此操作?
x %>% 
group_by(name) %>%
summarise(value = value[condition == "B"] / value[condition == "A"])

最佳答案

您可以删除没有“A”或“B”的组,然后进行划分。

library(dplyr)

x %>%
group_by(name) %>%
filter(all(c('A', 'B') %in% condition)) %>%
summarise(value = value[condition == "B"] / value[condition == "A"])

# name value
# <fct> <dbl>
#1 a 5
#2 d 5

关于r - 如何使用 dplyr 在行组之间进行划分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61091598/

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