[R] Combine recursive lists in a single list or data frame and write it to file
Bert Gunter
bgunter@4567 @ending from gm@il@com
Thu Dec 20 03:10:33 CET 2018
Does ?unlist not help? Why not?
Bert
On Wed, Dec 19, 2018, 5:13 PM Ek Esawi <esawiek using gmail.com wrote:
> Hi All—
>
> I am using the R tabulizer package to extract tables from pdf files.
> The output is a set of lists of matrices. The package extracts tables
> and a lot of extra stuff which is nearly impossible to clean with
> RegEx. So, I want to clean it manually.
> To do so I need to (1) combine all lists in a single list or data
> frame and (2) then write the single entity to a text file to edit it.
> I could not figure out how.
>
> I tried something like this but did not work.
> lapply(MyTables, function(x)
> lapply(x,write.table(file="temp.txt",append = TRUE)))
>
> Any help is greatly appreciated.
>
> Here is my code:
>
> install.packages("rJava") ;library(rJava)
> install.packages("tabulizer");library(tabulizer)
> MyPath <- "C:/Users/name/Documents/tEMP"
> ExtTable <- function (Path,CalOrd){
> FileNames <- dir(Path, pattern =".(pdf|PDF)",full.names = TRUE)
> MyFiles <- lapply(FileNames, function(i) extract_tables(i,method =
> "stream"))
> if(CalOrd == "Yes"){
> MyOFiles <- gsub("(\\s.*)|(.pdf|.PDF)","",basename(FileNames))
> MyOFiles <- match(MyOFiles,month.name)
> MyNFiles <- MyFiles[order(MyOFiles)]}
> else
> MyFiles
> }
> MyTables <- ExtTable(Path=MyPath,CalOrd = "No")
>
> Here is cleaned portion of the output: The whole output consists of 3
> lists, each contains 12, 15, and 12 sub-lists.
>
> [[2]][[2]]
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
> [,10]
> [1,] "" "Avg." "+_ lo" "n" "Med." "" "Avg." "+_
> lo" "n" "Med."
> [2,] "SiOz" "44.0" "1.26" "375" "44.1" "Nb" "4.8" "6.3"
> "58" "2.7"
> [3,] "T i O 2" "0.09" "0.09" "561" "0.09" "Mo(b)" "50" "30"
> "3" "35"
> [4,] "A1203" "2.27" "1.10" "375" "2.20" "Ru(b)" "12.4" "4.1"
> "3" "12"
> [5,] "FeO total" "8.43" "1.14" "375" "8.19" "Pd(b)" "3.9" "2.1"
> "19" "4.1"
> [6,] "MnO" "0.14" "0.03" "366" "0.14" "Ag(b)" "6.8" "8.3"
> "17" "4.8"
> [7,] "MgO" "41.4" "3.00" "375" "41.2" "Cd(b)" "41" "14"
> "16" "37"
> [8,] "CaO" "2.15" "1.11" "374" "2.20" "In(b)" "12" "4"
> "19" "12"
> [9,] "Na20" "0.24" "0.16" "341" "0.21" "Sn(b)" "54" "31"
> "6" "36"
> [10,] "K20" "0.054" "0.11" "330" "0.028" "Sb(b)" "3.9" "3.9"
> "11" "3.2"
> [11,] "P205" "0.056" "0.11" "233" "0.030" "Te(b)" "11" "4"
> "18" "10"
> [12,] "Total" "98.88" "" "" "98.43" "Cs(b)" "10" "16"
> "17" "1.5"
> [13,] "" "" "" "" "" "Ba" "33" "52"
> "75" "17"
> [14,] "Mg-value" "89.8" "1.1" "375" "90.0" "La" "2.60" "5.70"
> "208" "0.77"
> [15,] "Ca/AI" "1.28" "1.6" "374" "1.35" "Ce" "6.29" "11.7"
> "197" "2.08"
> [16,] "AI/Ti" "22" "29" "361" "22" "Pr" "0.56" "0.87"
> "40" "0.21"
> [17,] "F e / M n" "60" "10" "366" "59" "Nd" "2.67" "4.31"
> "162" "1.52"
> [18,] "" "" "" "" "" "Sm" "0.47" "0.69"
> "214" "0.25"
> [19,] "Li" "1.5" "0.3" "6" "1.5" "Eu" "0.16" "0.21"
> "201" "0.097"
> [20,] "B" "0.53" "0.07" "6" "0.55" "Gd" "0.60" "0.83"
> "67" "0.31"
> [21,] "C" "110" "50" "13" "93" "Tb" "0.070"
> "0.064" "146" "0.056"
> [22,] "F" "88" "71" "15" "100" "Dy" "0.51" "0.35"
> "58" "0.47"
> [23,] "S" "157" "77" "22" "152" "Ho" "0.12" "0.14"
> "54" "0.090"
> [24,] "C1" "53" "45" "15" "75" "Er" "0.30" "0.22"
> "52" "0.28"
> [25,] "Sc" "12.2" "6.4" "220" "12.0" "Tm" "0.038"
> "0.026" "40" "0.035"
> [26,] "V" "56" "21" "132" "53" "Yb" "0.26" "0.14"
> "201" "0.27"
> [27,] "Cr" "2690" "705" "325" "2690" "Lu" "0.043"
> "0.023" "172" "0.045"
> [28,] "Co" "112" "10" "166" "111" "Hf" "0.27" "0.30"
> "71" "0.17"
> [29,] "Ni" "2160" "304" "308" "2140" "Ta" "0.40" "0.51"
> "38" "0.23"
> [30,] "Cu" "11" "9" "94" "9" "W(b)" "7.2" "5.2"
> "6" "4.0"
> [31,] "Zn" "65" "20" "129" "60" "Re(b)" "0.13" "0.11"
> "18" "0.09"
> [32,] "Ga" "2.4" "1.3" "49" "2.4" "Os(b)" "4.0" "1.8"
> "18" "3.7"
> [33,] "Ge" "0.96" "0.19" "19" "0.92" "Ir(b)" "3.7" "0.9"
> "34" "3.0"
> [34,] "As" "0.11" "0.07" "7" "0.10" "Pt(b)" "7" "-"
> "1" "-"
> [35,] "Se" "0.041" "0.056" "18" "0.025" "Au(b)" "0.65" "0.53"
> "30" "0.5"
> [36,] "Br" "0.01" "0.01" "6" "0.01" "Tl(b)" "1.2" "1.0"
> "13" "0.9"
> [37,] "Rb" "1,9" "4.8" "97" "0.38" "Pb" "0.16" "0.11"
> "17" "0.16"
> [38,] "Sr" "49" "60" "110" "20" "Bi(b)" "1.7" "0.7"
> "13" "1.6"
> [39,] "Y" "4.4" "5.5" "86" "3.1" "Th*" "0.71" "1.2"
> "71" "0.22"
> [40,] "Zr" "21" "42" "82" "8.0" "U" "0.12" "0.23"
> "48" "0.040"
> [[2]][[4]]
> [,1] [,2] [,3] [,4] [,5]
> [,6]
> [1,] "" "Spinel peridotites" "" "Garnet peridotites"
> "" "Primitive"
> [2,] "" "Avg. Meal." "M-A sp" "M-A gt B-M"
> "Jordan" "mantle"
> [3,] "SiO 2" "44.0 44.1" "44.15" "44.99 45.00"
> "45.55" "44.8"
> [4,] "TiO 2" "0.09 0.09" "0.07" "0.06 0.08"
> "0.11" "0.21"
> [5,] "A1203" "2.27 2.20" "1.96" "1.40 1.31"
> "1.43" "4.45"
> [6,] "Cr203" "0.39 0.39" "0.44" "0.32 0.38"
> "0.34" "0.43"
> [7,] "FeOtotal" "8.43 8.19" "8.28" "7.89 6.97"
> "7.61" "8.40"
> [8,] "Mn O" "0.14 0.14" "0.12" "0.11 0.13"
> "0.11" "0.14"
> [9,] "MgO" "41.4 41.2" "42.25" "42.60 44.86"
> "43.55" "37.2"
> [10,] "NiO" "0.27 0.27" "0.27" "0.26 0.29"
> "-" "0.24"
> [11,] "CaO" "2.15 2.20" "2.08" "0.82 0.77"
> "1.05" "3.60"
> [12,] "Na 20" "0.24 0.21" "0.18" "0.11 0.09"
> "0.14" "0.34"
> [13,] "K 2 0" "0.054 0.028" "0.05" "0.04 0.10"
> "0.11" "0.028"
> [14,] "P205" "0.056 0.030" "0.02" "- 0.01"
> "-" "0.022"
> [15,] "Total" "99.49 99.05" "99.87" "98.60 100.00"
> "100.00" "99.86"
> [16,] "Mg-value" "89.8 90.0" "90.1" "90.6 92.0"
> "91.1" "88.8"
> [17,] "olivine" "62 63" "67" "65 68"
> "66" "56 57"
> [18,] "opx" "24 24" "22" "28 25"
> "28" "22 17"
> [19,] "cpx" "12 11" "9" "3 2"
> "3" "19 10"
> [20,] "spinel" "2 2" "2" "- -"
> "-" "3 -"
>
> Here is portion of the output for str(MyTables):
>
> str(MyTables)
>
> List of 3
> $ :List of 12
> $ : chr [1:3, 1:2] "south of the artificial lake Lokka. Intrusive
> complexes" "of alkaline rocks are found at Sokli (phosphorite-bear-"
> "ing and a possible Nb-occurrence) in Finland, and at" "(Eriksson,
> 1992). During this period, Northern Europe" ...
> ..$ : chr [1:55, 1:15] "Element" "Ag" "Al" "Al_XRF" ...
> ..$ : chr [1:56, 1:2] "in the till is mainly of local origin,
> although some cob-" "bles and boulders may have been transported over
> sev-" "eral kilometres. The moraine formations in the study" "area are
> mostly gravelly and sandy tills, locally hum-" ...
> ..$ : chr [1:53, 1:2] "requisites. PCA accounts for maximum variance
> of all" "variables, while FA is based on the correlation structure"
> "of the variables. The model of factor analysis allows that" "the
> common factors do not explain the total variation of" ...
> ..$ : chr [1:54, 1:7] "lished examples of the use of factor
> analysis, it is neglec-" "ted that regional geochemical (and
> environmental) data" "almost never follow a normal distribution.
> Continuing Method" "with factor analysis in such a case must lead to
> biased" ...
> ..$ : chr [1:16, 1:2] "shows the factor loadings of the different
> variables" "entering each factor. Names of variables with an abso-"
> "lute value of the loadings <0.3 are not plotted. Fig. 5" "shows 8
> results of factor analyses using a selection of all" ...
> ..$ : chr [1:21, 1:2] "pretable results, notwithstanding the fact
> that on the" "basis of the foregoing discussion it should probably
> not" "be used with these data. Do these results warrant the use" "of a
> quite work-intensive method? Unfortunately not," ...
> ..$ : chr [1:55, 1:8] "" "Ag" "Al" "Al_XRF" ...
> ..$ : chr [1:23, 1:2] "addition, geochemical reasoning (e.g.
> geochemical asso-" "ciations and/or pathfinder elements for different
> types of" "ore deposits) was used to select further sub-sets of vari-"
> "ables. In geochemistry, the selection of elements entered" ...
> ..$ : chr [1:55, 1:2] "Fig. 10C cuts several geological units, and
> is most likely" "indicative of alteration processes related to a
> deep-" "seated fault. It was revealed again in a factor analysis"
> "carried out with all those elements extracted by aqua" ...
> ..$ : chr [1:50, 1:2] "well justified in stating that it is not very
> scientific to" "play with the selection of elements and number of
> fac-" "tors extracted until one
> â\200\230â\200\230findsâ\200\231â\200\231 an
> â\200\230â\200\230interestingâ\200\231â\200\231 result." "On the other
> hand, even all the different results pre-" ...
> ..$ : chr [1:24, 1:2] "Niemelä, J., Ekman, I., Lukashov, A. (Eds.),
> 1993. Quaternary" "Deposits of Finland and Northwestern Part of
> Russian Fed-" "eration and Their Resources 1:1,000,000. Geological
> Survey" "of Finland, Espoo, Finland." ...
> $ :List of 15
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list