根据R中的多个条件计算新列

问题描述 投票:0回答:1

我有一个具有以下示例格式的数据框:

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

我想创建一个新列,将压力_psi 列中的值转换为压力_ft。为此,我只需将 psi 列除以 2.31。

我使用了以下代码:

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

然而,当我需要它们成为单一列时,这会创建一个新列,旧的压力_ft列和新计算是分开的。

r dataframe mutate
1个回答
0
投票

如果您的目标是将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))
© www.soinside.com 2019 - 2024. All rights reserved.