【发布时间】:2022-01-18 07:38:28
【问题描述】:
我正在尝试在我的数据框 df1 中添加一个新列 result,因为特定列(value1 和 value2 列)满足以下条件:
-
它们在行上都是正数、负数或 0,或者其中一个是 0 并且 另一个要么消极要么积极,然后
result=="True"; -
如果按行排列,其中一个是正数,另一个是负数,反之亦然,那么
result=="False"; -
如果按行来说它们都是
NAs 或者其中一个是NA但是 另一个是负数或正数,然后result=="-"
输入:
df1 <- data.frame(ID= c("ID1","ID2","ID3","ID4","ID5"), value1 = c(1.2, -1, NA, -1.5, 0), value2 = c(0.8, -1.1, -1, 1.3, 0.9))
预期输出:
df2 <- data.frame(ID= c("ID1","ID2","ID3","ID4","ID5"), value1 = c(1.2, -1, NA, -1.5, 0), value2 = c(0.8, -1.1, -1, 1.3, 0.9), result = c("True","True","-", "False", 'True'))
输出:
任何帮助将不胜感激。
参考链接:
【问题讨论】:
标签: r dataframe dplyr tidyverse