mtorchiano / lmPerm

Permutation Tests for Linear Models
13 stars 2 forks source link

Cannot extract unrounded p-values from an lmp object. #5

Open mtorchiano opened 3 years ago

mtorchiano commented 3 years ago

Issue report from email.

I am using anova() and summary() functions on an lmp object. These functions work; output is generated. The problem is that I cannot save the output (as a data frame) where small p-values are not rounded to 0.

######################################################
### MODEL (all predictor and response variables are continuous)

>  m3 <- lmPerm::lmp(trait.value ~ temp.warmest.qt + precip.warmest.qt,
                     data=pces, perm="Prob", center=FALSE, seqs=FALSE)

    [1] "Settings:  unique SS "

  ######################################################

> summary(m3)

### Prints output (as expected).

    Call:
    lmp(formula = trait.value ~ temp.warmest.qt + precip.warmest.qt,
        data = pces, perm = "Prob", seqs = FALSE, center = FALSE)

  Residuals:
    Min      1Q  Median      3Q     Max
  -40.232  -6.673  -0.914   7.422  57.311

  Coefficients:
    Estimate Iter Pr(Prob)
  temp.warmest.qt    11.2748 5000   <2e-16 
    precip.warmest.qt  -0.2221 5000   <2e-16 
    ---
    Signif. codes:  0 '*=98'*' 0.001 '*=98'*' 0.01 '=
    *=98'*' 0.05 '*=98.'*' 0.1 '*=98 '*' 1

  Residual standard error: 17.05 on 322 degrees of freedom
  Multiple R-Squared: 0.5264, Adjusted R-squared: 0.5234
  F-statistic: 178.9 on 2 and 322 DF,  p-value: < 2.2e-16

######################################################

      > summary(m3)$coefficients

### Prints coefficients, but p-values are rounded to 0.

    Estimate Iter Pr(Prob)
  (Intercept)       -134.0258363 5000        0
  temp.warmest.qt     11.2747775 5000        0
  precip.warmest.qt   -0.2220581 5000        0

######################################################

    > summary(m3)$coefficients %>% data.frame() 

### Prints coefficients and converts them to object/data frame, but
    p-values are still rounded to 0.

### Rounding of p-values to 0 thus seems unrelated to print or format in
    summary().

    Estimate Iter Pr.Prob.
  (Intercept)       -134.0258363 5000        0
  temp.warmest.qt     11.2747775 5000        0
  precip.warmest.qt   -0.2220581 5000        0

######################################################

  > anova(m3)

### Prints anova table (as expected).

    Analysis of Variance Table

  Response: trait.value
                     Df R Sum Sq R Mean Sq Iter  Pr(Prob)
  temp.warmest.qt     1    93935     93935 5000 < 2.2e-16 
  precip.warmest.qt   1     8693      8693 5000 < 2.2e-16 
  Residuals         322    93598       291
  ---

    Signif. codes:  0 '*=98'*' 0.001 '*=98'*' 0.01 '=
    *=98'*' 0.05 '*=98.'*' 0.1 '*=98 '*' 1

  ######################################################

    > anova(m3) %>% data.frame() 

    ### Prints anova table, but cannot convert it to object/data frame (see
    last line).

  Analysis of Variance Table

Response: trait.value

Df R Sum Sq R Mean Sq Iter  Pr(Prob)

temp.warmest.qt     1    93935     93935 5000 < 2.2e-16 

  precip.warmest.qt   1     8693      8693 5000 < 2.2e-16 

  Residuals         322    93598       291

---

    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

data frame with 0 columns and 0 rows ### HERE!!!

  ######################################################

  > Anova(m3, type=3)

  ### I have not seen any documentation where car::Anova() is used on lmp
  object. 

  ### Can car::Anova() be used on an lmp object? I do want unique SS (e.g. seqs=FALSE).

  ### Either way, perhaps this is an interesting point of comparison regarding how the lmp object behaves with different functions.

  ### Also note how the p-values are different here compared to above.

  Anova Table (Type III tests)

Response: trait.value
                    Sum Sq  Df F value    Pr(>F)
  (Intercept)        15113   1  51.992 4.002e-12 
  temp.warmest.qt    93935   1 323.163 < 2.2e-16 
  precip.warmest.qt   8693   1  29.907 9.108e-08 
  Residuals          93598 322
---
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

######################################################

  > Anova(m3, type=3) %>% data.frame()

  ### Prints anova table and converts it to object/data frame.

                     Sum.Sq  Df   F.value       Pr..F.
(Intercept)       15112.699   1  51.99164 4.001552e-12
temp.warmest.qt   93935.468   1 323.16262 1.601505e-50
precip.warmest.qt  8693.382   1  29.90751 9.107533e-08
Residuals         93597.523 322        NA           NA

######################################################
mtorchiano commented 3 years ago

Possible MWE

library(lmPerm)
# f = cut(rnorm(100),3,c("A","B","C"))
f = c("B", "B", "B", "B", "B", "B", "C", "C", "B", "C", "C", "B", 
  "A", "B", "B", "C", "C", "C", "B", "B", "B", "C", "B", "C", "B", 
  "B", "B", "B", "C", "B", "B", "B", "B", "B", "B", "B", "C", "B", 
  "B", "B", "B", "B", "C", "B", "B", "B", "C", "A", "B", "B", "B", 
  "C", "B", "C", "C", "C", "C", "B", "B", "B", "C", "B", "B", "B", 
  "B", "A", "A", "C", "B", "C", "B", "B", "A", "C", "B", "B", "C", 
  "C", "B", "B", "C", "C", "B", "C", "C", "B", "C", "C", "B", "B", 
  "C", "A", "B", "B", "B", "B", "C", "B", "C", "B")
#y = rnorm(100)+as.numeric(factor(f))+10
y = c(12.256065413759, 10.2338690690724, 12.7342274344284, 12.9188818361194, 
      11.2425645720792, 11.9191845873998, 13.4621700228714, 13.0280296698856, 
      11.5701046428484, 13.6354826581922, 13.4803913180852, 13.8555835211227, 
      10.0397561235053, 10.4557730038743, 12.6669319488538, 14.2971956572883, 
      13.8104686954262, 13.2160674005093, 13.6428077904016, 10.5912079616502, 
      11.335366008502, 11.9816214335981, 10.606625131425, 10.9083906068353, 
      10.6571749383987, 12.1377338717305, 10.0989543617672, 11.9654884400516, 
      12.9869458943188, 11.8411350225723, 11.7889021775581, 10.6235102833348, 
      12.4227771489572, 12.9425350520532, 11.845440836176, 12.926300807778, 
      12.6844282127005, 12.6840023540173, 12.2222128585972, 13.0224324226194, 
      10.9950045205357, 11.317472679311, 14.0893239318522, 11.0031393138157, 
      12.6120461723261, 11.6373970060832, 13.8067617775476, 10.0986571048258, 
      10.2697366004439, 11.2442277288498, 11.6356936364825, 13.0613175776661, 
      12.8016154914051, 13.3038144647712, 11.7808520680228, 14.5061825851365, 
      13.7854692387179, 12.1645436170462, 12.4507728265225, 10.9405173566993, 
      14.4545789023988, 12.866918957798, 10.3498418896696, 12.3013283988246, 
      9.57332217420656, 11.3331405673985, 11.4496638391074, 13.6839878501498, 
      11.5518141714801, 12.2701031757756, 10.1929479316683, 11.5796756486091, 
      10.2088585268213, 11.6666759982722, 13.3943982286299, 11.3526453211655, 
      13.6792439062291, 12.1832351415481, 10.7320906121624, 11.4806682174883, 
      12.0755897805694, 12.0025970240562, 10.3304369076126, 13.8170431953706, 
      11.3944912844128, 12.0743252805281, 12.5481848110357, 11.9872187712327, 
      11.0795021866822, 12.2286602012202, 13.6946529193845, 10.7843432460277, 
      12.8727044894008, 11.4879130174715, 11.8748751397884, 12.1748751329611, 
      13.138613540319, 12.993092576695, 11.4344002539369, 12.1081407650721
)
mdl = lmp(y ~ f)
s = summary(mdl)
s ## gives p <2e-16 *** for factor f1
s$coefficients["f1",3] == 0 ## TRUE, coefficient is stored as 0
mtorchiano commented 3 years ago

MWE from original reporter:

### LIBRARIES
library("tidyverse")
library("lmPerm")
library("car")

######################################################

### DATAFRAME
pces <- read.csv("pces.csv", header=TRUE, na.strings = ".")

######################################################

### MODEL
### All predictor and response variables are continuous.
set.seed(1)
m3 <- lmPerm::lmp(trait.value ~ temp.warmest.qt + precip.warmest.qt, data=pces, perm="Prob", center=FALSE, seqs=FALSE)

######################################################

summary(m3)

### Prints output (as expected).

######################################################

summary(m3)$coefficients

### Prints coefficients, but p-values are rounded to 0.

######################################################

summary(m3)$coefficients %>% data.frame() 
### Prints coefficients and converts them to object/data frame, but p-values are still rounded to 0.
### Rounding of p-values to 0 thus seems unrelated to print or format in summary().

######################################################

anova(m3)
### Prints anova table (as expected).

######################################################

anova(m3) %>% data.frame() 
### Prints anova table, but cannot convert it to object/data frame (see last line).

######################################################

car::Anova(m3, type=3)
### I have not seen any documentation where car::Anova() is used on lmp object. 
### Can car::Anova() be used on an lmp object? I do want unique SS (e.g. seqs=FALSE).
### Either way, perhaps this is an interesting point of comparison regarding how the lmp object behaves with different functions.
### Also note how the p-values are different here compared to above.

######################################################

car::Anova(m3, type=3) %>% data.frame()
### Prints anova table and converts it to object/data frame.

######################################################

data for the example pces.csv

"country","pop","line","trait.value","temp.warmest.qt","precip.warmest.qt"
"USA","ALA","ALA01",25,20.1,341
"USA","ALA","ALA03",21,20.1,341
"USA","ALA","ALA04",21,20.1,341
"USA","ALA","ALA05",20,20.1,341
"USA","ALA","ALA06",21,20.1,341
"USA","ALA","ALA07",22,20.1,341
"USA","ALA","ALA08",22,20.1,341
"USA","ALA","ALA09",21,20.1,341
"USA","ALA","ALA11",23,20.1,341
"USA","ALA","ALA12",27,20.1,341
"USA","ALA","ALA14",20,20.1,341
"USA","ALA","ALA15",28,20.1,341
"USA","ALA","ALA16",22,20.1,341
"USA","ALA","ALA17",21,20.1,341
"USA","ALA","ALA18",21,20.1,341
"USA","ALA","ALA20",21,20.1,341
"USA","ALA","ALA21",22,20.1,341
"USA","ALA","ALA22",21,20.1,341
"USA","ALA","ALA23",22,20.1,341
"USA","ALA","ALA24",22,20.1,341
"USA","ARM","ARM01",20,19.9,297
"USA","ARM","ARM03",21,19.9,297
"USA","ARM","ARM04",20,19.9,297
"USA","ARM","ARM05",22,19.9,297
"USA","ARM","ARM08",19,19.9,297
"USA","ARM","ARM11",19,19.9,297
"USA","ARM","ARM13",19,19.9,297
"USA","ARM","ARM14",18,19.9,297
"USA","ARM","ARM15",21,19.9,297
"USA","ARM","ARM16",21,19.9,297
"USA","ARM","ARM19",31,19.9,297
"USA","ARM","ARM21",27,19.9,297
"USA","ARM","ARM22",22,19.9,297
"USA","ARM","ARM23",25,19.9,297
"USA","ARM","ARM25",21,19.9,297
"USA","ARM","ARM27",20,19.9,297
"USA","ARM","ARM29",19,19.9,297
"USA","ARM","ARM34",21,19.9,297
"USA","ARM","ARM35",21,19.9,297
"USA","AST","AST01",22,19.1,263
"USA","AST","AST03",23,19.1,263
"USA","AST","AST04",23,19.1,263
"USA","AST","AST05",25,19.1,263
"USA","AST","AST06",24,19.1,263
"USA","AST","AST08",25,19.1,263
"USA","AST","AST10",30,19.1,263
"USA","AST","AST11",22,19.1,263
"USA","AST","AST12",38,19.1,263
"USA","AST","AST13",25,19.1,263
"USA","AST","AST16",21,19.1,263
"USA","AST","AST18",34,19.1,263
"USA","AST","AST20",23,19.1,263
"USA","AST","AST21",33,19.1,263
"USA","AST","AST22",24,19.1,263
"USA","AST","AST23",23,19.1,263
"USA","AST","AST24",25,19.1,263
"USA","AST","AST29",20,19.1,263
"USA","AST","AST32",23,19.1,263
"USA","AST","AST33",22,19.1,263
"USA","BRL","BRL02",21,20.2,306
"USA","BRL","BRL03",21,20.2,306
"USA","BRL","BRL07",22,20.2,306
"USA","BRL","BRL09",20,20.2,306
"USA","BRL","BRL14",23,20.2,306
"USA","BRL","BRL16",24,20.2,306
"USA","BRL","BRL17",22,20.2,306
"USA","BRL","BRL19",20,20.2,306
"USA","BRL","BRL20",19,20.2,306
"USA","BRL","BRL22",20,20.2,306
"USA","BRL","BRL23",21,20.2,306
"USA","BRL","BRL25",20,20.2,306
"USA","BRL","BRL26",19,20.2,306
"USA","BRL","BRL33",20,20.2,306
"USA","DUM","DUM01",19,19,300
"USA","DUM","DUM02",19,19,300
"USA","DUM","DUM04",21,19,300
"USA","DUM","DUM05",21,19,300
"USA","DUM","DUM07",21,19,300
"USA","DUM","DUM08",20,19,300
"USA","DUM","DUM11",19,19,300
"USA","DUM","DUM12",18,19,300
"USA","DUM","DUM13",18,19,300
"USA","DUM","DUM14",19,19,300
"USA","DUM","DUM15",21,19,300
"USA","DUM","DUM16",19,19,300
"USA","DUM","DUM17",20,19,300
"USA","DUM","DUM19",20,19,300
"USA","DUM","DUM20",21,19,300
"USA","DUM","DUM21",19,19,300
"USA","DUM","DUM22",20,19,300
"USA","DUM","DUM24",20,19,300
"USA","DUM","DUM25",18,19,300
"USA","DUM","DUM26",20,19,300
"USA","DUM","DUM29",21,19,300
"USA","ELK","ELK01",69,22.8,311
"USA","ELK","ELK03",60,22.8,311
"USA","ELK","ELK04",65,22.8,311
"USA","ELK","ELK05",64,22.8,311
"USA","ELK","ELK06",61,22.8,311
"USA","ELK","ELK08",65,22.8,311
"USA","ELK","ELK09",65,22.8,311
"USA","ELK","ELK10",64,22.8,311
"USA","ELK","ELK11",61,22.8,311
"USA","ELK","ELK14",67,22.8,311
"USA","ELK","ELK15",67,22.8,311
"USA","ELK","ELK16",65,22.8,311
"USA","ELK","ELK17",57,22.8,311
"USA","ELK","ELK20",68,22.8,311
"USA","ELK","ELK21",67,22.8,311
"USA","ELK","ELK22",59,22.8,311
"USA","ELK","ELK23",65,22.8,311
"USA","ELK","ELK24",66,22.8,311
"USA","ELK","ELK26",66,22.8,311
"USA","ELK","ELK30",67,22.8,311
"USA","FOS","FOS06",22,20.9,342
"USA","FOS","FOS08",22,20.9,342
"USA","FOS","FOS09",21,20.9,342
"USA","FOS","FOS10",22,20.9,342
"USA","FOS","FOS13",22,20.9,342
"USA","FOS","FOS14",21,20.9,342
"USA","FOS","FOS16",21,20.9,342
"USA","FOS","FOS18",23,20.9,342
"USA","FOS","FOS24",19,20.9,342
"USA","FOS","FOS25",19,20.9,342
"USA","FOS","FOS26",21,20.9,342
"USA","FOS","FOS28",20,20.9,342
"USA","FOS","FOS30",21,20.9,342
"USA","FOS","FOS32",21,20.9,342
"USA","FOS","FOS33",21,20.9,342
"USA","FOS","FOS35",19,20.9,342
"USA","FOS","FOS40",22,20.9,342
"USA","FOS","FOS42",26,20.9,342
"USA","FOS","FOS43",21,20.9,342
"USA","FRE.R","FRE.R02",32,21.7,315
"USA","FRE.R","FRE.R03",33,21.7,315
"USA","FRE.R","FRE.R04",33,21.7,315
"USA","FRE.R","FRE.R06",32,21.7,315
"USA","FRE.R","FRE.R07",86,21.7,315
"USA","FRE.R","FRE.R08",94,21.7,315
"USA","FRE.R","FRE.R12",82,21.7,315
"USA","FRE.R","FRE.R13",84,21.7,315
"USA","FRE.R","FRE.R14",93,21.7,315
"USA","FRE.R","FRE.R16",98,21.7,315
"USA","FRE.R","FRE.R19",57,21.7,315
"USA","FRE.R","FRE.R20",86,21.7,315
"USA","FRE.R","FRE.R21",35,21.7,315
"USA","FRE.R","FRE.R23",31,21.7,315
"USA","FRE.R","FRE.R30",76,21.7,315
"USA","FRE.R","FRE.R31",24,21.7,315
"USA","FRE.R","FRE.R33",82,21.7,315
"USA","FRE.R","FRE.R34",32,21.7,315
"USA","FRE.R","FRE.R37",92,21.7,315
"USA","FRE.R","FRE.R38",20,21.7,315
"USA","GRT","GRT01",58,23.6,280
"USA","GRT","GRT02",79,23.6,280
"USA","GRT","GRT03",71,23.6,280
"USA","GRT","GRT05",81,23.6,280
"USA","GRT","GRT08",68,23.6,280
"USA","GRT","GRT09",107,23.6,280
"USA","GRT","GRT10",58,23.6,280
"USA","GRT","GRT11",77,23.6,280
"USA","GRT","GRT12",99,23.6,280
"USA","GRT","GRT13",76,23.6,280
"USA","GRT","GRT14",84,23.6,280
"USA","GRT","GRT17",75,23.6,280
"USA","GRT","GRT18",82,23.6,280
"USA","GRT","GRT19",73,23.6,280
"USA","GRT","GRT20",78,23.6,280
"USA","GRT","GRT22",100,23.6,280
"USA","GRT","GRT23",84,23.6,280
"USA","GRT","GRT25",103,23.6,280
"USA","GRT","GRT27",103,23.6,280
"USA","GRT","GRT29",82,23.6,280
"USA","JAM","JAM01",21,19.7,298
"USA","JAM","JAM02",21,19.7,298
"USA","JAM","JAM03",20,19.7,298
"USA","JAM","JAM04",20,19.7,298
"USA","JAM","JAM05",20,19.7,298
"USA","JAM","JAM07",21,19.7,298
"USA","JAM","JAM08",20,19.7,298
"USA","JAM","JAM09",22,19.7,298
"USA","JAM","JAM13",21,19.7,298
"USA","JAM","JAM14",20,19.7,298
"USA","JAM","JAM16",20,19.7,298
"USA","JAM","JAM18",21,19.7,298
"USA","JAM","JAM19",22,19.7,298
"USA","JAM","JAM20",20,19.7,298
"USA","JAM","JAM22",21,19.7,298
"USA","JAM","JAM31",21,19.7,298
"USA","JAM","JAM34",21,19.7,298
"USA","JOK","JOK04",21,20.6,346
"USA","JOK","JOK08",22,20.6,346
"USA","JOK","JOK09",22,20.6,346
"USA","JOK","JOK11",34,20.6,346
"USA","JOK","JOK12",19,20.6,346
"USA","JOK","JOK16",21,20.6,346
"USA","JOK","JOK18",20,20.6,346
"USA","JOK","JOK19",20,20.6,346
"USA","JOK","JOK21",23,20.6,346
"USA","JOK","JOK23",19,20.6,346
"USA","JOK","JOK25",20,20.6,346
"USA","JOK","JOK30",20,20.6,346
"USA","JOK","JOK32",21,20.6,346
"USA","JOK","JOK33",21,20.6,346
"USA","JOK","JOK34",20,20.6,346
"USA","JOK","JOK37",21,20.6,346
"USA","JOK","JOK38",20,20.6,346
"USA","JOK","JOK39",20,20.6,346
"USA","JOK","JOK42",19,20.6,346
"USA","JOK","JOK49",21,20.6,346
"USA","SUS","SUS01",60,22.8,317
"USA","SUS","SUS07",65,22.8,317
"USA","SUS","SUS08",67,22.8,317
"USA","SUS","SUS10",59,22.8,317
"USA","SUS","SUS11",76,22.8,317
"USA","SUS","SUS13",75,22.8,317
"USA","SUS","SUS15",66,22.8,317
"USA","SUS","SUS17",63,22.8,317
"USA","SUS","SUS21",67,22.8,317
"USA","SUS","SUS23",69,22.8,317
"USA","SUS","SUS26",66,22.8,317
"USA","SUS","SUS27",67,22.8,317
"USA","SUS","SUS29",60,22.8,317
"USA","SUS","SUS32",67,22.8,317
"USA","SUS","SUS34",64,22.8,317
"USA","SUS","SUS37",67,22.8,317
"USA","SUS","SUS41",72,22.8,317
"USA","SUS","SUS43",57,22.8,317
"USA","SUS","SUS47",74,22.8,317
"USA","SUS","SUS50",67,22.8,317
"USA","TRO","TRO03",29,21.6,331
"USA","TRO","TRO04",24,21.6,331
"USA","TRO","TRO09",33,21.6,331
"USA","TRO","TRO12",31,21.6,331
"USA","TRO","TRO14",29,21.6,331
"USA","TRO","TRO18",22,21.6,331
"USA","TRO","TRO19",20,21.6,331
"USA","TRO","TRO20",32,21.6,331
"USA","TRO","TRO21",31,21.6,331
"USA","TRO","TRO24",31,21.6,331
"USA","TRO","TRO25",22,21.6,331
"USA","TRO","TRO30",30,21.6,331
"USA","TRO","TRO31",33,21.6,331
"USA","TRO","TRO32",31,21.6,331
"USA","TRO","TRO33",30,21.6,331
"USA","TRO","TRO36",32,21.6,331
"USA","TRO","TRO39",32,21.6,331
"USA","TRO","TRO40",31,21.6,331
"USA","TRO","TRO43",24,21.6,331
"USA","TRO","TRO45",30,21.6,331
"USA","TYL","TYL02",31,22.6,327
"USA","TYL","TYL04",32,22.6,327
"USA","TYL","TYL08",33,22.6,327
"USA","TYL","TYL11",32,22.6,327
"USA","TYL","TYL12",33,22.6,327
"USA","TYL","TYL15",33,22.6,327
"USA","TYL","TYL16",31,22.6,327
"USA","TYL","TYL18",32,22.6,327
"USA","TYL","TYL20",30,22.6,327
"USA","TYL","TYL23",36,22.6,327
"USA","TYL","TYL24",29,22.6,327
"USA","TYL","TYL26",68,22.6,327
"USA","TYL","TYL28",31,22.6,327
"USA","TYL","TYL33",82,22.6,327
"USA","TYL","TYL38",21,22.6,327
"USA","TYL","TYL40",75,22.6,327
"USA","TYL","TYL41",22,22.6,327
"USA","TYL","TYL42",21,22.6,327
"USA","TYL","TYL43",81,22.6,327
"USA","TYL","TYL45",32,22.6,327
"USA","WAD","WAD01",21,21.2,290
"USA","WAD","WAD02",21,21.2,290
"USA","WAD","WAD03",20,21.2,290
"USA","WAD","WAD10",21,21.2,290
"USA","WAD","WAD11",19,21.2,290
"USA","WAD","WAD17",20,21.2,290
"USA","WAD","WAD19",22,21.2,290
"USA","WAD","WAD23",20,21.2,290
"USA","WAD","WAD24",22,21.2,290
"USA","WAD","WAD25",20,21.2,290
"USA","WAD","WAD26",20,21.2,290
"USA","WAD","WAD27",21,21.2,290
"USA","WAD","WAD28",21,21.2,290
"USA","WAD","WAD29",21,21.2,290
"USA","WAD","WAD32",27,21.2,290
"USA","WAD","WAD34",21,21.2,290
"USA","WIL","WIL01",32,23.7,279
"USA","WIL","WIL02",31,23.7,279
"USA","WIL","WIL03",32,23.7,279
"USA","WIL","WIL04",34,23.7,279
"USA","WIL","WIL05",31,23.7,279
"USA","WIL","WIL06",89,23.7,279
"USA","WIL","WIL07",104,23.7,279
"USA","WIL","WIL08",32,23.7,279
"USA","WIL","WIL09",31,23.7,279
"USA","WIL","WIL10",102,23.7,279
"USA","WIL","WIL11",103,23.7,279
"USA","WIL","WIL13",31,23.7,279
"USA","WIL","WIL14",91,23.7,279
"USA","WIL","WIL15",93,23.7,279
"USA","WIL","WIL16",106,23.7,279
"USA","WIL","WIL17",93,23.7,279
"USA","WIL","WIL19",33,23.7,279
"USA","WIL","WIL20",31,23.7,279
"USA","WIL","WIL21",107,23.7,279
"USA","WIL","WIL22",107,23.7,279
"USA","WTE","WTE02",31,22.8,307
"USA","WTE","WTE03",31,22.8,307
"USA","WTE","WTE04",37,22.8,307
"USA","WTE","WTE07",38,22.8,307
"USA","WTE","WTE09",90,22.8,307
"USA","WTE","WTE10",33,22.8,307
"USA","WTE","WTE11",30,22.8,307
"USA","WTE","WTE12",31,22.8,307
"USA","WTE","WTE13",37,22.8,307
"USA","WTE","WTE18",25,22.8,307
"USA","WTE","WTE20",31,22.8,307
"USA","WTE","WTE21",31,22.8,307
"USA","WTE","WTE22",27,22.8,307
"USA","WTE","WTE25",22,22.8,307
"USA","WTE","WTE26",24,22.8,307
"USA","WTE","WTE27",25,22.8,307
"USA","WTE","WTE29",32,22.8,307
"USA","WTE","WTE33",33,22.8,307
"USA","WTE","WTE36",21,22.8,307