【发布时间】:2016-07-25 09:34:33
【问题描述】:
如果减去时会导致负值,我想将两个数据框和特定列中的值设置为 null。
例如,如果我有 df1 和 df2,如下所示:
df1 <- cbind(v1=c(3,6,4,8,4), v2=c(8,6,7,3,5), v3=c(7,6,8,5,8))
df2 <- cbind(v1=c(5,3,8,7,9), v2=c(1,1,7,4,5), v3=c(7,1,2,5,3))
我有一个列名向量:
v <- c('v1', 'v3')
使用以下减法的结果:
df2[,v]-df1[,v] < 0
v1 v3
FALSE FALSE
TRUE TRUE
FALSE TRUE
TRUE FALSE
FALSE TRUE
如果 df1 和 df2 中的值为 true,我想将它们设置为 null。
预期结果:
df1:
v1 v2 v3
3 8 7
NA 6 NA
4 7 NA
NA 3 5
4 5 NA
df2:
v1 v2 v3
5 1 7
NA 1 NA
8 7 NA
NA 4 5
9 5 NA
谢谢。
【问题讨论】:
-
请包括预期的输出和您尝试过的内容。
标签: r