r - 有条件地将一列替换为另一列 (R)

标签 r data-manipulation

所以,col's 和 prob's 可以被认为是一个包;它们是在一起的,例如,col2“与”prob2“相伴”。

我怎样才能做到这样,如果 col 中的一个单元格是 <NA>prob与之对应的也将替换为 <NA>

数据:

   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

目标:

   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>

最佳答案

你可以使用 is.na.data.frame创建 is.na<- 使用的结果“NA-out”“prob”列中的相应值:

 is.na(dat[ , grep("prob", colnames(dat)) ]) <- is.na(dat[ , grep("col", colnames(dat)) ])

 #------------------
> dat
  col2      prob2 col3      prob3 col4     prob4 col5     prob5
1    2 0.12626962 <NA>         NA <NA>        NA <NA>        NA
2    3 0.73043105 <NA>         NA <NA>        NA <NA>        NA
3    2 0.32054473    3 0.04349778    4 0.8594343   11 0.1505064
4    2 0.03541982    3 0.24076478    5 0.2761697 <NA>        NA

请注意,这使用了您的控制台输出,并且它作为任何“<NA> -包含”列作为因子列出现。这可能是您的 ?col? 变量的问题,因为带有 NA 的真实数值向量不会显示为 <NA>

关于r - 有条件地将一列替换为另一列 (R),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553247/

相关文章:

c# - 处理和合并两个大文件

python - Pandas:将数据帧的内容合并到单个列中(作为 dict/json 列表)

r - st_simplify dTolerence 十进制度数

r - ggplot2 的默认图边距是多少?

r - 在 R 中,有什么有效的方法可以将两个不同的多层栅格数据聚合/合并为一个吗?

r - 如何在R中的轴文本中将句子中的某些单词变为斜体

R - 使用 purrr 在列表列表中用 NA 替换 NULL 元素

python - 根据列元素中的单词(部分匹配或完整)将多个标签匹配到列

r - 在R中创建组织结构图

r - 用R中的条件按组计算均值