Test for NA and select values based on result

82,737

use is.na :

DF <- within(DF,
   C <- ifelse(!is.na(A),A,B)
)

with DF being your dataframe.

Share:
82,737
Dan
Author by

Dan

Updated on August 03, 2022

Comments

  • Dan
    Dan almost 2 years

    My question is rather simple. What I want is if A[i]!=NA, then C[i]=A[i], if A[i]=NA, then C[i]=B[i], however, I always get some error messages. Can somebody help me out?

    A   B   C
    NA  82.6    .
    NA  127.2   .
    NA  93.6    .
    NA  105 .
    NA  104 .
    NA  90.6    .
    NA  95.8    .
    NA  103 .
    NA  85.4    .
    NA  81.5    .
    NA  142.8   .
    NA  102.3   .
    NA  104 .
    NA  103 .
    NA  94.6    .
    NA  113.8   .
    NA  113.5   .
    NA  74.5    .
    NA  123.8   .
    NA  94  .
    NA  89.8    .
    NA  74  .
    NA  104 .
    NA  100.5   .
    NA  102.9   .
    NA  132.5   .
    NA  91  .
    NA  92.5    .
    NA  97  .
    NA  90  .
    54.6    51.7    .
    NA  61  .
    NA  80  .
    NA  77.5    .
    NA  NA  .
    NA  80.6    .
    NA  44.6    .
    NA  37.6    .
    NA  27  .
    NA  NA  .
    NA  NA  .
    NA  NA  .