首页 > 解决方案 > 如何使用真/假信息计算条件和?

问题描述

我无法根据第 3 列和第 4 列中的真/假值来确定数值除法的代码:(col1)/(col2)

我有 500 行数据,我正在尝试根据不同条件计算作物的平均产量(公斤作物/公顷)。我试图回答一个问题,例如“如果第 3 列中的条件为真且第 4 列为假,平均产量将是多少?”

编辑:这是示例数据。

col 1   col2   col 3   col4
1.5     2.0     T       T
1.5     2.0     F       T
2.5     5.0     F       F
2.5     5.0     F       T

所以我试图找到 col1/col2 的平均值,例如,col3 = F 和 col4 = T

谢谢你!

标签: r

解决方案


这是使用tidyverse.

首先,我使用函数创建一个可重现的数据集data.frame

n <- 100
df <- data.frame(
  kg = runif(n),
  ha = runif(n),
  col3 = sample(c(TRUE,FALSE), n, TRUE),
  col4 = sample(c(TRUE,FALSE), n, TRUE)
)

我们可以使用mutate我们的 kg 和 ha 变量、group两个条件下的数据以及最后summarize每种条件组合的平均产量来计算产量。

df %>% 
  mutate(kg_ha = kg/ha) %>% 
  group_by(col3, col4) %>% 
  summarize(mean_yield = mean(kg_ha))

推荐阅读