ifelse命令中的多个真实条件

时间:2015-05-21 08:15:14

标签: r

在R中,我们使用 ifelse(test,yes,no)命令。我面临的问题是,如果一个codiation出现,我需要执行各种声明,例如

ifelse(FP $月== 1,(FP $ SUM(sales_1),FP $ SUM(sales_2)),0)

所以我给出了两个条件,如果fp $ month = 1.这些条件是 sum(fp $ sales_1),sum(fp $ sales_2),但是R正在识别第二个逗号。如何给出多个真正的条件?

示例是

a <- "01" 
b <- c(1,2,3,4,5,6) 
c <- c(12,13,1234,1334,23) 
d <- ifelse(a=="01",(sum(b),sum(c)),0)

这里我想如果“a”值是“01”那么我想要矢量b和c的总和。但我得到错误: -

Error: unexpected ',' in "d <- ifelse(a=="01",(sum(b),"_ 

预期产量为: - [1] 21 2616

2 个答案:

答案 0 :(得分:0)

你可以使用&amp; ('和')声明。 您还需要将总和分配给变量,如下所示:

a <- "01" 
b <- c(1,2,3,4,5,6) 
c <- c(12,13,1234,1334,23) 
d <- ifelse(a=="01",( (b <- sum(b)) & (c <- sum(c)) ),0)

答案 1 :(得分:-2)

这有效:

a <- "01" 
ifelse(a=="01", d <- c(sum(b),sum(c)), d <- 0)
d
#[1]   21 2616

a <- "02"
ifelse(a=="01", d <- c(sum(b),sum(c)), d <-0)
d
#[1] 0