[英]How apply a function in data frame with if/ lessthan statement in R?
我有一个如下所示的数据框:
df<- data.frame(
X1 = seq(from = 7, to = 25, by = 2),
X2 = c(7, 10 ,11, 12, 16, 17, 20, 24, 2, 30),
X3 = 2:11
)
我想用以下逻辑替换列 X3
如果 X1 比 x2 少,则 X3=0
library(dplyr)
df %>%
mutate(X3 = ifelse(X1 < X2, 0, X3))
输出:
X1 X2 X3
1 7 7 2
2 9 10 0
3 11 11 4
4 13 12 5
5 15 16 0
6 17 17 7
7 19 20 0
8 21 24 0
9 23 2 10
10 25 30 0
你可以做 -
df$X3[df$X1 < df$X2] <- 0
df
# X1 X2 X3
#1 7 7 2
#2 9 10 0
#3 11 11 4
#4 13 12 5
#5 15 16 0
#6 17 17 7
#7 19 20 0
#8 21 24 0
#9 23 2 10
#10 25 30 0
df %>% mutate(X3 = ifelse(X1 < X2,0,X3))
我们可以用
df$X3 <- with(df, X3 * (X1 >= X2))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.