R中跨列的行值比较

乔·里伯格(Joe Ripberger)

我有一个看起来像这样的数据框:

    > df<-data.frame(A=c(1,1,2,3,NA,NA),B=c(NA,5,2,6,4,8),C=c(NA,NA,2,NA,NA,8))
    > df
       A  B  C
    1  1 NA NA
    2  1  5 NA
    3  2  2  2
    4  3  6 NA
    5 NA  4 NA
    6 NA  8  8

我要基于以下3个条件,使用此数据框中的行值创建第4个“ D”列:1)如果行中只有一个值,则将该值分配给D列;2)如果该行中的所有值都相同(不包括NA),则将该“相同”值分配给D列;2)如果行中的任何值不同(不包括NA),则将NA分配给D列。这将创建一个矢量和数据帧,如下所示:

    > df$D<-c(1,NA,2,NA,4,8)
    > df
       A  B  C  D
    1  1 NA NA  1
    2  1  5 NA NA
    3  2  2  2  2
    4  3  6 NA NA
    5 NA  4 NA  4
    6 NA  8  8  8
A5C1D2H2I1M1N2O1R2T1

也许这样的事情将为您工作:

apply(df, 1, function(y) {
  A <- unique(na.omit(y))
  ifelse(length(A) > 1, NA, A)
})
# [1]  1 NA  2 NA  4  8

我认为这应该可以满足您的条件,或者至少为您提供入门指南。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R按行比较列值

来自分类Dev

Excel:如何比较行中的列值

来自分类Dev

根据跨多个列的时间值重复行-R

来自分类Dev

比较列并替换R中的值

来自分类Dev

比较两列并替换R中的值

来自分类Dev

比较各个行中的值与不同列中的对应行

来自分类Dev

R-比较数据框列中的所有元素与跨所有列的另一数据框中一行的元素

来自分类Dev

使用R比较行值与数据框中的列以进行部分匹配

来自分类Dev

R满足3个条件的情况下比较一列中的行值

来自分类Dev

R - 比较不同行中两列中的值

来自分类Dev

比较2列的值(在同一行中)

来自分类Dev

熊猫:基于行中的值的日期比较与列添加

来自分类Dev

VBA宏通过行中的列循环并比较值

来自分类Dev

收集DataFrame行并比较列中的字典值

来自分类Dev

Excel在一行中的两列中比较值

来自分类Dev

熊猫:基于行中的值的日期比较与列添加

来自分类Dev

比较R data.table中多个列值的向量

来自分类Dev

R比较行之间的列

来自分类Dev

跨R中的多个变量替换值

来自分类Dev

Oracle SQL 用于比较列值并选择最大值在列 1 中的行

来自分类Dev

无法在跨列的行中获得结果

来自分类Dev

跨新列中的行的条件序列

来自分类Dev

行值到R中的列

来自分类Dev

根据R中的列值删除行

来自分类Dev

在R中跨列运行聚合

来自分类Dev

R中跨列的条件变异

来自分类Dev

dplyr跨r中的多个列分组?

来自分类Dev

R中跨列的模糊匹配

来自分类Dev

R:跨多列在彼此范围内的数据框中查找行