如何将 R ifelse 函数与 && 函数一起使用?
How to use R ifelse function with && function?
我有以下数据集。我想创建一个列来检查只有 A 具有正数但其余为 0(ifelse 赋值 1 或 0)的行。附件是下面的代码。我希望这些列除最后一行中的“1”外全为 0。目前,我得到的行是“0”。有什么建议吗?
set.seed(111)
A <- rnorm(10,10,2)
B <- c(23,0,0,0,1,2,0,1,2,0)
C <- c(1,1,23,0,0,0,1,2,0,0)
D <- c(0,1,1,23,0,0,0,1,2,0)
df <- data.frame(A,B,C,D)
df$A.only <- ifelse(df$A > 0 && df$B == 0 && df$C == 0 && df$D == 0, 1, 0)
可能重复:Boolean operators && and ||
如果您使用“&”而不是“&&”,您的命令将按预期工作,例如
set.seed(111)
A <- rnorm(10,10,2)
B <- c(23,0,0,0,1,2,0,1,2,0)
C <- c(1,1,23,0,0,0,1,2,0,0)
D <- c(0,1,1,23,0,0,0,1,2,0)
df <- data.frame(A,B,C,D)
df$A.only <- ifelse(df$A > 0 & df$B == 0 & df$C == 0 & df$D == 0, 1, 0)
df
#> A B C D A.only
#> 1 10.470441 23 1 0 0
#> 2 9.338528 0 1 1 0
#> 3 9.376752 0 23 1 0
#> 4 5.395309 0 0 23 0
#> 5 9.658248 1 0 0 0
#> 6 10.280556 2 0 0 0
#> 7 7.005147 0 1 0 0
#> 8 7.979623 1 2 1 0
#> 9 8.103049 2 0 2 0
#> 10 9.012076 0 0 0 1
由 reprex package (v2.0.1)
于 2022-04-04 创建
我有以下数据集。我想创建一个列来检查只有 A 具有正数但其余为 0(ifelse 赋值 1 或 0)的行。附件是下面的代码。我希望这些列除最后一行中的“1”外全为 0。目前,我得到的行是“0”。有什么建议吗?
set.seed(111)
A <- rnorm(10,10,2)
B <- c(23,0,0,0,1,2,0,1,2,0)
C <- c(1,1,23,0,0,0,1,2,0,0)
D <- c(0,1,1,23,0,0,0,1,2,0)
df <- data.frame(A,B,C,D)
df$A.only <- ifelse(df$A > 0 && df$B == 0 && df$C == 0 && df$D == 0, 1, 0)
可能重复:Boolean operators && and ||
如果您使用“&”而不是“&&”,您的命令将按预期工作,例如
set.seed(111)
A <- rnorm(10,10,2)
B <- c(23,0,0,0,1,2,0,1,2,0)
C <- c(1,1,23,0,0,0,1,2,0,0)
D <- c(0,1,1,23,0,0,0,1,2,0)
df <- data.frame(A,B,C,D)
df$A.only <- ifelse(df$A > 0 & df$B == 0 & df$C == 0 & df$D == 0, 1, 0)
df
#> A B C D A.only
#> 1 10.470441 23 1 0 0
#> 2 9.338528 0 1 1 0
#> 3 9.376752 0 23 1 0
#> 4 5.395309 0 0 23 0
#> 5 9.658248 1 0 0 0
#> 6 10.280556 2 0 0 0
#> 7 7.005147 0 1 0 0
#> 8 7.979623 1 2 1 0
#> 9 8.103049 2 0 2 0
#> 10 9.012076 0 0 0 1
由 reprex package (v2.0.1)
于 2022-04-04 创建