基于R中的多个条件计算新列

vfhzx4xs  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(92)

我有一个具有以下示例格式的 Dataframe :

ID          Date         Pressure_ft          Pressure_psi
   3           09-09        65                   NA
   4           09-09        NA                   45
   5           09-09        63                   NA

我想创建一个新列,将Pressure_psi列中的值转换为pressure_ft。要做到这一点,我只需要将psi列除以2.31。
我使用了以下代码:

df <- mutate(df, calculation = Pressure_psi/2.31)

然而,这会创建一个新列,当我需要它们是一个奇异列时,旧的pressure_ft列和新的计算是分开的。

rqcrx0a6

rqcrx0a61#

如果您的目标是将Pressure_ft中的NA值替换为Pressure_psi中的计算值,则可以使用条件语句替换NA
df$Pressure_ft <- ifelse(is.na(df$Pressure_ft), df$Pressure_psi/2.31, df$Pressure_ft)
这表示将df$Pressure_ft设置为两个值之一:

  • 如果Pressure_ft是NA值,则使用Pressure_psi/2.31
  • 否则使用现有的Pressure_ft

你也可以用同样简洁的格式来使用它:

df%>%
   mutate(Pressure_ft=ifelse(is.na(Pressure_ft), Pressure_psi/2.31, Pressure_ft))

相关问题