R中带有3个条件的If-Else语句
我试图使用if-else语句在数据集中创建一列。我希望这个if-else语句在df“option1”中创建一个名为“Surgical”的列,该列显示“Duration”列的值减去20,前提是Duration中的值大于625,并且“Variability”列中指示了因子“Single”。 我尝试了以下代码:R中带有3个条件的If-Else语句,r,if-statement,R,If Statement,我试图使用if-else语句在数据集中创建一列。我希望这个if-else语句在df“option1”中创建一个名为“Surgical”的列,该列显示“Duration”列的值减去20,前提是Duration中的值大于625,并且“Variability”列中指示了因子“Single”。 我尝试了以下代码: option1$Surgical <- ifelse(option1$Variability == "Single", option1$Duration - 20, option1$Du
option1$Surgical <- ifelse(option1$Variability == "Single", option1$Duration - 20, option1$Duration)
选项1$Surgical我们可以使用&
或|
检查多种情况。在这里,我们需要和,因为这两个条件都应该满足
option1$Surgical <- ifelse(option1$Variability == "Single" &
option1$Duration > 625, option1$Duration - 20, option1$Duration)
option1$Surgical 625,option1$Duration-20,option1$Duration)
您可以直接执行此操作,而无需使用ifelse
:
option1$Surgical <- with(option1, Duration - (20 *
(Variability == 'Single' & Duration > 625)))
及
因此,只要条件(Variability=='Single'&Duration>625
)为TRUE
,它就会从Duration
中减去20,否则为0。您可以使用和
指定一个条件,即选项1$Variability=='Single'&option1$Duration>625
20 * TRUE #gives
#[1] 20
20 * FALSE #gives
#[1] 0