我想填写一个新的列col c:如果col条目为空,则col c为空,否则来自col b的条目

时间:2016-05-31 09:33:07

标签: r

我目前的数据:

col a    col b    
 A         G
 G         A
           C
 T         G  
           A
 C         
 A         T
 G         C

 A

如果col a为空白,则在新列c中为空白,否则为col b。

中的条目

需要新数据:

col a    col b  Mutant_SNP_2  
 A         G         G
 G         A         A
           C
 T         G         G
           A
 C         
 A         T         T
 G         C         C

 A

3 个答案:

答案 0 :(得分:1)

您可以使用ifelse

df$Mutant_SNP_2 <- ifelse(df$colb == '', '', df$colc)

答案 1 :(得分:1)

library(data.table)

setDT(df)[ , c := ifelse(a=="", "", b)]

答案 2 :(得分:0)

我们可以通过两项任务避免ifelse

library(data.table)
setDT(df1)[, Mutant_SNP_2 := ""][cola!="", Mutant_SNP_2 := colb][]
 #    cola colb Mutant_SNP_2
 #1:    A    G            G
 #2:    G    A            A
 #3:         C             
 #4:    T    G            G
 #5:         A             
 #6:    C                  
 #7:    A    T            T
 #8:    G    C            C
 #9:                       
 #10:    A