data manipulation - Conditional replacement of one column by another ( R ) -


so, col's , prob's can thought of package; go together, e.g., col2 "goes with" prob2.

how can make if cell in col <na>, prob corresponds replaced <na>?

data:

   col2          prob2    col3            prob3     col4            prob4    col5              prob5     2  0.126269620610401  <na>  0.979143074247986   <na>  0.150689669651911  <na>   0.11148908524774     3  0.730431054253131  <na>  0.826114872703329   <na>  0.368350319797173  <na>   0.299717969959602     2  0.320544729940593    3   0.0434977798722684   4    0.859434255165979   11    0.150506388396025     2  0.0354198240675032   3   0.240764779038727    5    0.276169682852924  <na>   0.0449998050462455 

goal:

   col2          prob2    col3         prob3        col4            prob4      col5          prob5     2  0.126269620610401  <na>          <na>        <na>   0.150689669651911   <na>           <na>     3  0.730431054253131  <na>          <na>        <na>   0.368350319797173   <na>           <na>     2  0.320544729940593    3   0.0434977798722684    4    0.859434255165979    11     0.150506388396025      2  0.0354198240675032   3   0.240764779038727     5    0.276169682852924   <na>           <na> 

building off previous answer, here's 1 way programatically across of column-prob pairs:

x <- data.frame(col2 = c(na, na, 1,2), prob2 = runif(4), col3 = c(3,4,na,na), prob3 = rnorm(4))  colcolumns <- grep("col", names(x))  (j in colcolumns) {   x[ j+1] <- ifelse(is.na(x[, j]), na, x[, j+1]) } 

resulting int:

  col2     prob2 col3    prob3 1   na        na    3 1.359170 2   na        na    4 1.165798 3    1 0.2701173   na       na 4    2 0.6411366   na       na 

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -