【问题标题】:Get data from the last column with data per row [duplicate]从最后一列获取每行数据的数据[重复]
【发布时间】:2018-05-14 20:01:15
【问题描述】:

我对电子表格中的元素有不同的事件序列。行与行的事件数量不同。 我想获取每一行的最后一个元素并将其放在每个元素的另一列中,如“Last”列中

   ev1  ev2  ev3 ev4  Last
A  A1   A2   A3   NA   A3
B  B1   B2   NA   NA   B2
C  C1   C2   C3   C4   C4
D  D1   D2   D3   NA   D3
E  E1   NA   NA   NA   E1

如果每行中的任何事件是 =“已交付”,我想显示已交付而不是最后一个事件。

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以在整个 data.frame 上尝试dplyr::coalesce。但是您必须更改列的顺序。 coalesce 从右到左折叠,但您想要最后一列(最右边)。解决方案可能是:

    library(dplyr)
    df$Last <- coalesce(!!! df[ncol(df):1])
    df
    #   ev1  ev2  ev3  ev4 Last
    # A  A1   A2   A3 <NA>   A3
    # B  B1   B2 <NA> <NA>   B2
    # C  C1   C2   C3   C4   C4
    # D  D1   D2   D3 <NA>   D3
    # E  E1 <NA> <NA> <NA>   E1
    

    数据:

    df <- read.table(text = 
    "ev1  ev2  ev3 ev4  
    A    A1   A2   A3   NA
    B    B1   B2   NA   NA
    C    C1   C2   C3   C4
    D    D1   D2   D3   NA
    E    E1   NA   NA   NA",
    header = TRUE, stringsAsFactors = FALSE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2022-08-12
      • 2013-07-29
      相关资源
      最近更新 更多