用N / A替换每列中的多个行值

时间:2019-07-15 18:25:58

标签: r dataframe

我想用 <ngb-accordion #acc="ngbAccordion" activeIds="ngb-panel-0"> <ngb-panel> <ng-template ngbPanelTitle> <span>Title</span> <div class="float-right"> <i [ngClass]="(isOpen) ? 'fas fa-chevron-right' : 'fas fa-chevron-down'"></i> </div> </ng-template> <ng-template ngbPanelContent> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. </ng-template> </ngb-panel> </ngb-accordion> 替换数据框各列中的前5个值。但是,数据帧的形状应使前5个值位于每列的不同行中。我尝试使用N/A库的replace_with_na函数,但是无法正确索引每一列中的每一行

我的数据框看起来像(我的值实际上不是连续的):

nanier

我希望生成的数据框看起来像:

    col1   col2   col3
     N/A    1     N/A
     N/A    2      1
      1     3      2
      2     4      3
      3     5      4 
      4     6      5 
      5     7      6

1 个答案:

答案 0 :(得分:1)

尝试检查延迟5是否为无。

代码

library(hablar)

df %>% 
  mutate_all(~if_else_(!is.na(lag(., 5)), ., NA))

结果

# A tibble: 7 x 3
   col1  col2  col3
  <dbl> <dbl> <dbl>
1    NA    NA    NA
2    NA    NA    NA
3    NA    NA    NA
4    NA    NA    NA
5    NA    NA    NA
6    NA     6    NA
7    NA     7     6

数据

df <- structure(list(col1 = c(NA, NA, 1, 2, 3, 4, 5), col2 = c(1, 2, 
                                                         3, 4, 5, 6, 7), col3 = c(NA, 1, 2, 3, 4, 5, 6)), row.names = c(NA, 
                                                                                                                        -7L), class = c("tbl_df", "tbl", "data.frame"))