identifying unique elements in sub lists and altering

后端 未结 3 1203
后悔当初
后悔当初 2021-01-21 12:32

I have the following \'list\' in R:

[[1]]
[1] 17336  5246  8597  5246 17878 19701

[[2]]
[1] 19701 37748 18155  5246  8597

[[3]]
[1] 12297 19701 17878  5246 173         


        
3条回答
  •  情书的邮戳
    2021-01-21 12:58

    I think a for-loop would be a reasonable way to go for this problem:

    v <- 5L;
    for (li in seq_along(x))
        if (!is.na(vi <- match(v,x[[li]])))
            x[[li]] <- x[[li]][-1:-vi];
    x;
    ## [[1]]
    ## [1] 17336  5246  8597  5246 17878 19701
    ##
    ## [[2]]
    ## [1] 19701 37748 18155  5246  8597
    ##
    ## [[3]]
    ## [1] 12297 19701 17878  5246 17336  8597 17878
    ##
    ## [[4]]
    ## [1] 17878 37748 19701 37748 12297  8597
    ##
    ## [[5]]
    ## [1] 19701 37748 19701 37748 19701  5246
    ##
    ## [[6]]
    ## [1] 19701  6254 17336 18155 19701 12297
    ##
    ## [[7]]
    ## [1] 19701 17878 18155 17878 18155 19701  8597
    ##
    ## [[8]]
    ## [1]  8597 18155
    ##
    ## [[9]]
    ## [1] 12450 18155  5246  8597  5246  8597
    ##
    ## [[10]]
    ## [1] 18155  4105  6254 17878 12297  5246
    ##
    ## [[11]]
    ## [1]  8597 12297
    ##
    ## [[12]]
    ## [1] 17878  5246 18155 17878 12297  8597
    ##
    ## [[13]]
    ## [1]  8597 18155
    ##
    ## [[14]]
    ## [1]  5246 37748 18155 12450 18155  8597
    ##
    ## [[15]]
    ## [1] 19701 37748  6254  8597  6254  8597 12297
    ##
    ## [[16]]
    ## [1] 19701 17878  4105 37748 18155 19701 12450 12297
    ##
    ## [[17]]
    ## [1]  6254 12450 37748 17878  5246 17878  8597
    ##
    ## [[18]]
    ## [1]  8597 12297 18155  5246 18155 12297
    ##
    ## [[19]]
    ## [1]  4105 37748 17878  5246 12450  5246 12450
    ##
    ## [[20]]
    ## [1] 17878 20467
    ##
    ## [[21]]
    ## [1] 20467
    ##
    ## [[22]]
    ## [1] 12450 37748 12450 17878 12450 12297
    ##
    ## [[23]]
    ## [1]  4105 27697  4105 27697
    ##
    ## [[24]]
    ## [1]  4105 37748 17878 20467 12450 17878 27697
    ##
    ## [[25]]
    ## [1]  5246 27697  5246 17336 17878  5246 12297 20467
    ##
    

    Data

    x <- list(c(17336L,5246L,8597L,5246L,17878L,19701L),c(19701L,37748L,18155L,5246L,8597L),c(
    12297L,19701L,17878L,5246L,17336L,8597L,17878L),c(17878L,37748L,19701L,37748L,12297L,8597L),
    c(19701L,37748L,19701L,37748L,19701L,5246L),c(19701L,6254L,17336L,18155L,19701L,12297L),c(
    19701L,17878L,18155L,17878L,18155L,19701L,8597L),c(8597L,18155L),c(12450L,18155L,5246L,8597L,
    5246L,8597L),c(18155L,4105L,6254L,17878L,12297L,5246L),c(8597L,12297L),c(17878L,5246L,18155L,
    17878L,12297L,8597L),c(8597L,18155L),c(5246L,37748L,18155L,12450L,18155L,8597L),c(19701L,
    37748L,6254L,8597L,6254L,8597L,12297L),c(19701L,17878L,4105L,37748L,18155L,19701L,12450L,
    12297L),c(6254L,12450L,37748L,17878L,5246L,17878L,8597L),c(8597L,12297L,18155L,5246L,18155L,
    12297L),c(4105L,37748L,17878L,5246L,12450L,5246L,12450L),c(17878L,20467L),c(20467L),c(12450L,
    37748L,12450L,17878L,12450L,12297L),c(6254L,17878L,12450L,12297L,5L,4105L,27697L,4105L,27697L
    ),c(4105L,37748L,17878L,20467L,12450L,17878L,27697L),c(5246L,27697L,5246L,17336L,17878L,5246L
    ,12297L,20467L));
    

提交回复
热议问题