[R] Remove specific rows from nested list of matrices
Ek Esawi
e@@wiek @ending from gm@il@com
Thu Nov 8 17:14:51 CET 2018
Thank you all, Bert, Jeff, Bill an Don. I realized I made a silly
mistake in list indexing. Once I saw Bills’ suggestion and was able to
wrap my head around indexing recursive lists, I resolved the problem.
For future readers, here is the answers, even though the question may
not have been clear. I tried Don’s idea and it worked too.
To filter out rows that start with an empty (i.e. start with numbers,
in this case) string, I used Bill’s suggestion.
G <- lapply(FF, function(x) lapply(x, function (y) lapply(y,
function(z) z[grepl("^[0-9][0-9]/",z[,1]),])))
S1 <-"\\sÂ.*\\s|^[0-9]x.*|.*[P-p]oints.*|.*\\sto\\s.*"
To remove some unwanted entries, I used this formula.
F <- lapply(G, function(x) lapply(x, function (y) lapply(y,
function(z) gsub(S1,"",z))))
Thanks again--EK
On Fri, Nov 2, 2018 at 11:00 AM Ek Esawi <esawiek using gmail.com> wrote:
>
> Hi All,
>
> I have a list that is made up of nested lists, as shown below. I want
> to remove all rows in each sub-list that start with an empty space,
> that’s the first entry of a row is blank; for example, on
> [[1]][[1]][[1]] Remove row 4,on [[1]][[1]][[3]] remove row 5, on
> [[1]][[2]][[1]] remove row 6, etc.. All rows start with 2 digits/ 2
> digits. My formula works on individual sublist but not the whole
> list.. I know my indexing is wrong, but don’t know how to fix it.
>
>
> > FF
>
> [[1]]
> [[1]][[1]]
> [[1]][[1]][[1]]
> [,1] [,2] [,3] [,4] [,5]
> [1,] "30/20" "AAAAAAAA" “ “ "-89"
> [2,] "02/20" "AAAAAAAA” “ “ "-98"
> [3,] "02/20" “AAAAAAA” “ “ "-84"
> [4,] “ “ “ “ “
> [[1]][[1]][[2]]
> [,1] [,2]
> [1,] "02/23" “AAAAAAAA” : 29" “
> [2,] "02/23" “AAAAAAAA” ." “
> [3,] "02/23" “AAAAAAAA” " “
> [4,] "02/23" “AAAAAAAA” "
> [[1]][[1]][[3]]
> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
> [1,] "01/09" “AAAAAAAA" “ “ “ "53"
> [2,] "01/09" “AAAAAAAA” " “ “ “ "403"
> [3,] "01/09" “AAAAAAAA” " “ “ “ "83"
> [4,] "01/09" “AAAAAAAA” " “ “ “ "783"
> [5,] “ “ “AAAAAAAA” 3042742181" “ “ “ “
> [[1]][[2]]
> [[1]][[2]][[1]]
> [,1] [,2] [,3] [,4] [,5]
> [1,] “ “ “ “ “AAAAAAAA” "
> [2,] "Standard Purchases" “ “ “ "
> [3,] "24/90 "AAAAAAAA” “ "243" "
> [4,] "24/90 "AAAAAAAA” " "143" "
> [5,] "24/91 "AAAAAAAA” " “ "143" “
> [6,] “ “ “ “ "792"
> [[1]][[2]][[2]]
> [,1] [,2]
> [1,] "02/23" “AAAAAAAA”: 31" “
> [2,] "02/23" “AAAAAAAA”." “
> [3,] "02/23" “AAAAAAAA” " “
> [4,] "02/23" “AAAAAAAA”
> [5,] "02/23" “AAAAAAAA”
> [6,] "02/23" “AAAAAAAA” 20"
> [7,] "02/23" “AAAAAAAA” “
> [8,] "02/23" “AAAAAAAA” "33"
> [[1]][[3]]
> [[1]][[3]][[1]]
> [,1] [,2]
> [1,] "02/23" “AAAAAAAA”: 28" “
> [2,] "02/23" “AAAAAAAA”." “
> [3,] "02/23" “AAAAAAAA” " “
> [4,] "02/23" “AAAAAAAA” "
> [[1]][[3]][[2]]
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
> [1,] "02/23" “AAAAAAAA” " “ “ "53" "
> [2,] "02/24" “AAAAAAAA” " “ “ "
> [3,] “ “ “ “ “ “ “ “ "1,241"
> [4,] "02/24" "AAAAAAAA” “ "33”
>
> My Formula,:
>
> G <- lapply(FF, function(x) lapply(x, function (y) lapply(y,
> function(z) z[grepl("^[0-9][0-9]/",z[,1]),])))
>
> The error: Error in z[, 1] : incorrect number of dimensions
>
>
>
> Thanks in advance--EK
More information about the R-help
mailing list