【发布时间】:2022-11-03 16:19:06
【问题描述】:
我正在计算某些地块中开花部分的面积。然而,不同类型的植物有不同类型的测量值(例如,有些花,我们有整个花序的大小,有些我们只有单个花的大小)。我想使用不同的条件语句创建一个具有计算面积的列。这是一个示例数据框:
inflorescence_mm <- c("5", "NA", "NA")
flower_mm <- c("NA", "NA", "3")
corolla_mm <- c("NA", "2", "NA")
count <- c("100", "75", "80")
df <- data.frame(inflorescence_mm, flower_mm, corolla_mm, count)
我想使用 mutate 和 ifelse 创建一个名为“flower_area_mm2”的列,但是由于我使用公式来计算面积,所以我遇到了麻烦。
如果inflorescence_mm中有数据,那么我会使用(0.5花序_mm)^2 * pi * 计数。如果花序中有 NA,那么我会使用(0.5花_mm)^2 * pi * 计数。如果flower_mm 中有一个NA,那么我会使用(0.5*corolla_mm)^2 * pi * count。
任何人都可以帮助编写这样的条件语句吗?
我尝试在 mutate 中创建一个 ifelse 语句并使用 is.na,但这并没有填充新列。
【问题讨论】:
标签: r if-statement dplyr mutate