我正在尝试学习R(从长远来看这并不容易),而且我习惯于调用AND运算符来检查是否满足两个条件,然后将该输出插入到新列中。与其他所有内容一样,在R中似乎很难做到。在我的问题中,我希望查看标记为“PC”的列是否等于1以及标记为“MF”的列是否等于0。如果是这种情况,我希望R将结果输出(作为1)标记为“WR”的新列。如果“PC”或“MF”中存在任何其他值,我希望R向“WR”输出0。

一些样本数据:

PC  MF
1   1
3   1
2   1
4   1
1   1
9   1
2   1
1   1
5   1
5   1
4   0
6   0
8   0
1   1
7   0
1   1

最佳答案

您可以使用ifelse()语句:

示例数据:

df <- data.frame(PC=c(1,2,3,4,1), MF=c(0,1,1,1,0))

根据两个指定条件创建一个新列
df$WR <- ifelse(df$PC==1 & df$MF == 0, 1, 0)

输出量
> df
  PC MF WR
1  1  0  1
2  2  1  0
3  3  1  0
4  4  1  0
5  1  0  1

关于r - R AND运算符到新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31216315/

10-11 07:49