R 测试NA并根据结果选择值

R 测试NA并根据结果选择值,r,if-statement,na,R,If Statement,Na,我的问题很简单。我想要的是如果A[I]=NA,然后C[i]=A[i],如果A[i]=NA,那么C[i]=B[i],但是,我总是会收到一些错误消息。有人能帮我吗 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

我的问题很简单。我想要的是如果
A[I]=NA
,然后
C[i]=A[i]
,如果
A[i]=NA
,那么
C[i]=B[i]
,但是,我总是会收到一些错误消息。有人能帮我吗

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  .

使用
is.na

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

DF不会
DF@BenBolker:抓得好。无论你使用transform还是In,基本上都是一样的。但这是可行的。