本文介绍了使用ifelse在r中创建新列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码是:

data$E<-ifelse(data$D==data$B, "b", ifelse(data$D==data$C, "c", "unknowwn"))

结果:

  A   B   C   D   E
1 16  16  NA  16  b
2 20  NA  20  20  NA
3 24  NA  NA  24  NA

但是我想要的是:

  A   B   C   D   E
1 16  16  NA  16  b
2 20  NA  20  20  c
3 24  NA  NA  24  unknowwn

有人知道如何解决这个问题吗?谢谢!

Dose anyone know how to solve this problem?Thanks!

推荐答案

data$E <- ifelse(!is.na(data$B) & data$D == data$B, "b",
            ifelse(!is.na(data$C) & data$D == data$C, "c", "unknowwn"))

这篇关于使用ifelse在r中创建新列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 01:31