My own typo ... whoops ... !( any(dat2$norm_sd >= 1 )) On Thu, Dec 14, 2017 at 3:43 PM, Eric Berger <ericjberger at gmail.com> wrote:> You seem to have a typo at this expression (and some others like it) > > Namely, you write > > any(!dat2$norm_sd) >= 1 > > when you possibly meant to write > > !( any(dat2$norm_sd) >= 1 ) > > i.e. I think your ! seems to be in the wrong place. > > HTH, > Eric > > > On Thu, Dec 14, 2017 at 3:26 PM, DIGHE, NILESH [AG/2362] < > nilesh.dighe at monsanto.com> wrote: > >> Hi, I need some help with running a recursive function. I like to run >> funlp2 recursively. >> When I try to run recursive function in another function named "calclp" I >> get this "Error: any(!dat2$norm_sd) >= 1 is not TRUE". >> >> I have never built a recursive function before so having trouble >> executing it in this case. I would appreciate any help or guidance to >> resolve this issue. Please see my data and the three functions that I am >> using below. >> Please note that calclp is the function I am running and the other two >> functions are within this calclp function. >> >> # code: >> Test<- calclp(dataset = dat) >> >> # calclp function >> >> calclp<- function (dataset) >> >> { >> >> dat1 <- funlp1(dataset) >> >> recursive_funlp <- function(dataset = dat1, func = funlp2) { >> >> dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% >> >> mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% >> >> spread(key = field_rep, value = lp) %>% mutate_at(.vars >> grep("_", >> >> names(.)), funs(norm = round(scale(.), 3))) >> >> dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], >> >> 1, sd, na.rm = TRUE), 3) >> >> dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], >> >> 1, function(x) { >> >> max(abs(x), na.rm = TRUE) >> >> }), 3) >> >> stopifnot(any(!dat2$norm_sd) >= 1) >> >> if (any(!dat2$norm_sd) >= 1) { >> >> df1 <- dat1 >> >> return(df1) >> >> } >> >> else { >> >> df2 <- recursive_funlp() >> >> return(df2) >> >> } >> >> } >> >> df3 <- recursive_funlp(dataset = dat1, func = funlp2) >> >> df3 >> >> } >> >> >> # funlp1 function >> >> funlp1<- function (dataset) >> >> { >> >> dat2 <- dataset %>% select(field, set, ent_num, rep_num, >> >> lp) %>% unite(uniqueid, set, ent_num, sep = ".") %>% >> >> unite(field_rep, field, rep_num) %>% mutate(field_rep >> paste(field_rep, >> >> "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% >> >> mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), >> >> 3))) >> >> dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], >> >> 1, sd, na.rm = TRUE), 3) >> >> dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], >> >> 1, function(x) { >> >> max(abs(x), na.rm = TRUE) >> >> }), 3) >> >> data1 <- dat2 %>% gather(key, value, -uniqueid, -norm_max, >> >> -norm_sd) %>% separate(key, c("field_rep", "treatment"), >> >> "\\.") %>% spread(treatment, value) %>% mutate(outlier = NA) >> >> df_clean <- with(data1, data1[norm_sd < 1, ]) >> >> datD <- with(data1, data1[norm_sd >= 1, ]) >> >> s <- split(datD, datD$uniqueid) >> >> sdf <- lapply(s, function(x) { >> >> data.frame(x, x$outlier <- ifelse(is.na(x$lp_norm), NA, >> >> ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), >> >> x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) >> >> x >> >> }) >> >> sdf2 <- bind_rows(sdf) >> >> all_dat <- bind_rows(df_clean, sdf2) >> >> all_dat >> >> } >> >> >> # funlp2 function >> >> funlp2<-function (dataset) >> >> { >> >> data1 <- dataset >> >> df_clean <- with(data1, data1[norm_sd < 1, ]) >> >> datD <- with(data1, data1[norm_sd >= 1, ]) >> >> s <- split(datD, datD$uniqueid) >> >> sdf <- lapply(s, function(x) { >> >> data.frame(x, x$outlier <- ifelse(is.na(x$lp_norm), NA, >> >> ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), >> >> x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) >> >> x >> >> }) >> >> sdf2 <- bind_rows(sdf) >> >> all_dat <- bind_rows(df_clean, sdf2) >> >> all_dat >> >> } >> >> >> # dataset >> dput(dat) >> structure(list(field = c("LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", >> "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", >> "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", >> "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", >> "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "B2NW", "B2NW", >> "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", >> "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", >> "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", >> "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", >> "MAND", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", >> "28EP", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", >> "EX01", "EX01", "EX01", "EX01", "EX01", "EX01"), set = c("seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", >> "seta", "seta"), ent_num = c(23L, 14L, 43L, 30L, 44L, 60L, 17L, >> 34L, 41L, 40L, 9L, 36L, 38L, 19L, 61L, 51L, 45L, 42L, 3L, 39L, >> 21L, 11L, 12L, 7L, 35L, 5L, 70L, 47L, 28L, 16L, 72L, 13L, 49L, >> 67L, 56L, 32L, 27L, 46L, 24L, 63L, 15L, 66L, 26L, 29L, 48L, 1L, >> 54L, 37L, 2L, 50L, 52L, 31L, 33L, 25L, 6L, 69L, 53L, 10L, 18L, >> 55L, 59L, 4L, 58L, 22L, 20L, 64L, 71L, 57L, 11L, 17L, 43L, 13L, >> 1L, 16L, 34L, 47L, 52L, 72L, 59L, 22L, 54L, 18L, 25L, 61L, 56L, >> 41L, 27L, 14L, 49L, 19L, 29L, 31L, 64L, 6L, 53L, 35L, 37L, 67L, >> 39L, 51L, 40L, 15L, 69L, 60L, 38L, 4L, 23L, 3L, 48L, 32L, 42L, >> 24L, 28L, 33L, 57L, 8L, 21L, 46L, 7L, 30L, 45L, 2L, 63L, 36L, >> 68L, 20L, 66L, 70L, 58L, 5L, 10L, 12L, 62L, 50L, 71L, 9L, 55L, >> 26L, 44L, 65L, 14L, 63L, 46L, 58L, 62L, 19L, 59L, 2L, 5L, 6L, >> 40L, 21L, 44L, 37L, 55L, 35L, 71L, 56L, 10L, 36L, 53L, 25L, 61L, >> 12L, 26L, 23L, 4L, 13L, 28L, 38L, 57L, 54L, 72L, 48L, 66L, 9L, >> 70L, 15L, 39L, 60L, 17L, 34L, 51L, 67L, 42L, 49L, 31L, 30L, 3L, >> 18L, 65L, 32L, 27L, 52L, 22L, 11L, 47L, 64L, 8L, 43L, 41L, 16L, >> 20L, 33L, 7L, 50L, 68L, 24L, 1L, 69L, 45L, 29L, 37L, 30L, 55L, >> 54L, 43L, 32L, 21L, 27L, 33L, 40L, 67L, 57L, 68L, 31L, 17L, 13L, >> 6L, 62L, 19L, 22L, 3L, 10L, 44L, 34L, 69L, 70L, 4L, 1L, 25L, >> 11L, 51L, 5L, 63L, 71L, 12L, 38L, 58L, 39L, 49L, 59L, 56L, 65L, >> 2L, 64L, 8L, 35L, 46L, 45L, 29L, 53L, 36L, 42L, 23L, 18L, 50L, >> 26L, 14L, 48L, 66L, 20L, 24L, 7L, 15L, 53L, 22L, 39L, 20L, 60L, >> 59L, 43L, 19L, 41L, 6L, 62L, 1L, 55L, 34L, 50L, 38L, 40L, 44L, >> 4L, 46L, 29L, 65L, 57L, 48L, 33L, 69L, 14L, 35L, 67L, 72L, 54L, >> 3L, 49L, 2L, 12L, 18L, 30L, 10L, 70L, 31L, 15L, 63L, 71L, 21L, >> 45L, 28L, 56L, 27L, 64L, 61L, 51L, 5L, 24L, 68L, 25L, 66L, 16L, >> 36L, 58L, 37L, 52L, 26L, 9L, 42L, 7L, 11L, 8L, 32L, 23L, 13L, >> 47L, 17L, 61L, 72L, 47L, 60L, 16L, 9L, 28L, 52L, 41L, 1L, 61L, >> 6L, 23L, 58L, 63L, 25L, 28L, 30L, 36L, 62L, 9L, 32L, 19L, 31L, >> 56L, 45L, 2L, 22L, 27L, 40L, 14L, 11L, 50L, 13L, 70L, 20L, 64L, >> 39L, 26L, 21L, 43L, 29L, 35L, 54L, 52L, 37L, 17L, 16L, 72L, 48L, >> 12L, 18L, 44L, 42L, 49L, 68L, 5L, 55L, 69L, 51L, 66L, 59L, 53L, >> 15L, 71L, 41L, 57L, 4L, 60L, 8L, 7L, 33L, 34L, 24L, 10L, 67L, >> 47L, 38L, 3L, 65L, 46L, 20L, 34L, 71L, 1L, 33L, 57L, 13L, 21L, >> 66L, 29L, 3L, 61L, 69L, 24L, 62L, 39L, 49L, 47L, 31L, 53L, 52L, >> 43L, 17L, 7L, 8L, 12L, 60L, 63L, 50L, 2L, 51L, 46L, 10L, 23L, >> 48L, 11L, 26L, 40L, 70L, 42L, 59L, 15L, 56L, 58L, 27L, 6L, 35L, >> 4L, 37L, 5L, 65L, 44L, 28L, 14L, 32L, 36L, 45L, 9L, 18L, 55L, >> 68L, 30L, 54L, 41L, 25L, 22L, 38L, 16L, 67L, 64L, 19L, 72L, 68L, >> 28L, 33L, 15L, 51L, 4L, 47L, 36L, 8L, 57L, 48L, 1L, 52L, 39L, >> 32L, 50L, 13L, 30L, 63L, 2L, 9L, 62L, 22L, 6L, 61L, 16L, 53L, >> 38L, 37L, 20L, 69L, 44L, 56L, 29L, 26L, 14L, 17L, 46L, 66L, 58L, >> 42L, 60L, 19L, 45L, 3L, 59L, 70L, 31L, 24L, 55L, 40L, 43L, 25L, >> 65L, 12L, 67L, 21L, 7L, 27L, 49L, 72L, 54L, 41L, 23L, 34L, 5L, >> 64L, 35L, 18L, 71L, 11L, 24L, 19L, 38L, 14L, 4L, 56L, 5L, 54L, >> 34L, 64L, 55L, 33L, 69L, 71L, 52L, 61L, 48L, 23L, 43L, 41L, 20L, >> 39L, 11L, 63L, 36L, 22L, 9L, 25L, 27L, 51L, 53L, 37L, 57L, 13L, >> 18L, 64L, 22L, 53L, 16L, 5L, 28L, 60L, 31L, 11L, 29L, 45L, 59L, >> 72L, 49L, 67L, 13L, 20L, 3L, 42L, 44L, 69L, 33L, 38L, 15L, 70L, >> 35L, 48L, 26L, 56L, 19L, 39L, 43L, 40L, 14L, 2L, 68L, 51L, 12L, >> 47L, 10L, 55L, 23L, 4L, 71L, 41L, 50L, 7L, 24L, 61L, 27L, 54L, >> 46L, 58L, 37L, 66L, 57L, 1L, 36L, 32L, 18L, 62L, 9L, 30L, 21L, >> 6L, 52L, 8L, 65L, 17L, 25L, 63L, 34L, 65L, 22L, 56L, 9L, 7L, >> 11L, 31L, 4L, 63L, 29L, 61L, 54L, 12L, 62L, 59L, 5L, 23L, 53L, >> 36L, 24L, 35L, 66L, 49L, 72L, 18L, 70L, 32L, 43L, 20L, 45L, 34L, >> 46L, 28L, 6L, 44L, 71L, 39L, 13L, 27L, 1L, 58L, 30L, 68L, 17L, >> 33L, 26L, 57L, 15L, 21L, 52L, 48L, 42L, 16L, 40L, 38L, 8L, 69L, >> 2L, 51L, 67L, 55L, 64L, 47L, 60L, 19L, 41L, 50L, 3L, 14L, 25L, >> 10L, 37L, 6L, 15L, 45L, 49L, 8L, 17L, 50L, 16L, 58L, 72L, 26L, >> 60L, 7L, 32L, 1L, 46L, 66L, 68L, 62L, 47L, 35L, 70L, 10L, 31L, >> 65L, 2L, 3L, 21L, 12L, 30L, 40L, 28L, 59L, 42L, 67L, 44L, 29L >> ), rep_num = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L), lp = c(NA, 41.64, 38.8, 44.45, 40.54, >> 38.54, 41.94, 39.6, 37.39, 40.95, 38.45, 43.47, 41.66, 40.91, >> 42.68, 43.12, 38.22, 40.95, 46.24, 42.95, 38.95, 39.88, 40.57, >> 40.13, 38.57, 45.45, 40.78, 43.52, 39.75, 39.93, 40.35, 37.6, >> 37.7, 43.05, 43.32, 41.31, 39.03, 42.5, 43.18, 41.32, 39.58, >> 40.62, 39.64, 39.85, 38.75, 40.18, 41.44, 40.5, 40.87, 40.75, >> 38.37, 40.26, 35.11, 40.89, 41.67, 38.87, 37.32, 35.85, 38.25, >> 42.21, 43.15, 38.69, 38.8, 38.77, 37.98, 39.8, 33.37, 40.09, >> 42.87, 44.07, 43.78, 42.47, 42.8, 41.1, 41.17, 44.07, 44.24, >> 43.16, 46.12, 42.64, 43.92, 42.16, 43.69, 42.89, 42.63, 43.58, >> 44.4, 43.17, 43.3, 42.5, 42.6, 44.05, 44.63, 43.09, 45.17, 45.17, >> 42.78, 42.38, 45.76, 42.16, 44.22, 43.67, 40.45, 41.95, 42.49, >> 41.98, 45.15, 46.01, 38.51, 43.08, 45.19, 44.53, 43.14, 39.93, >> 46.84, 43.59, 41.68, 43.7, 44.63, 44.02, 42.07, 43.88, 43.2, >> 46.2, 40.84, 39.14, 43.89, 42.58, 41.53, 45.32, 39.56, 43.77, >> 45.45, 45.16, 43.4, 40.08, 42.27, 43.74, 43.77, 41.31, 41.38, >> 45.01, 45.76, 40.4, 48.39, 46.27, 15.44, 44.76, 47.45, 44.87, >> 46.8, 41.83, 43.03, 43.96, 42.51, 45.06, 45.55, 44.9, 42.47, >> 44.9, 45, 44.77, 43.79, 44.26, 44.57, 44.4, 43.42, 42.31, 47.18, >> 43.83, 45.72, 44.83, 44.96, 40.28, 42.85, 41.23, 45.23, 47.09, >> 43.61, 42.69, 46.27, 45.16, 44.14, 43.34, 45.97, 43.81, 43.01, >> 39.82, 45.91, 45.97, 43.61, 45.12, 46.37, 42.67, 42.47, 45.86, >> 44.19, 44.46, 42.64, 43.95, 44.93, 40.33, 42.75, 39.92, 44.17, >> 44.49, 41.51, 42.43, 44.14, 40.5, 41.29, 44.89, 37.98, 39.02, >> 39.62, 42.13, 39.03, 44.16, 39.15, 41.49, 42.63, 40.11, 39.97, >> 42.85, 35.98, 39.45, 40.99, 42.44, 42.11, 37.36, 40.63, 40.69, >> 43.57, 39.04, 39.3, 42.19, 36.88, 40.39, 37.78, 38.6, 40.2, 40.98, >> 36.58, 43.59, 42.49, 39.96, 39.84, 40.43, 38.94, 42.72, 39.43, >> 42.13, 40.36, 40.58, 40.01, 42.17, 42.17, 41.35, 43.27, 40.15, >> 39.76, 40.94, 40.87, 42.32, 41.81, 41.97, 43.72, 41.32, 40.83, >> 37.64, 41.03, 38.98, 40.61, 41.17, 41.96, 40.07, 38.48, 42.85, >> 38.68, 39.09, 42.16, 38.14, 37.99, 41.06, 37.4, 41.88, 39.35, >> 39.73, 38.38, 41.34, 40.67, 40.89, 39.28, 37.59, 39.3, 39.72, >> 40.79, 39.42, 34.5, 37.61, 37.76, 40.24, 41.17, 41.24, 42.14, >> 42.53, 39.71, 39.44, 40.19, 42.51, 40.15, 36.26, 37.48, 40.43, >> 37.5, 42.11, 41.44, 40.29, 39.75, 37.58, 41.25, 40.39, 41.63, >> 42.18, 43.71, 38.69, 43.47, 41.98, 35.51, 42.22, 38.51, 40.17, >> 39.4, 39.54, 41.7, 40.93, 40.01, 35.97, 41.44, 41.89, 40.9, 39.95, >> 40.69, 43.18, 37.03, 39.91, 36.75, 42.75, 41.61, 42.6, 38.55, >> 42.84, 38.41, 42.55, 41.44, 41.03, 40, 41.35, 42.18, 42.66, 40.06, >> 42.48, 41.33, 41.92, 40.88, 40.99, 42.78, 38.26, 40.81, 39.95, >> 37.89, 40.81, 38.33, 39.33, 39.67, 40.12, 41.75, 39.81, 41.92, >> 44.59, 37.8, 40.54, 40.49, 41.82, 42.13, 39.93, 39.94, 42.54, >> 41.74, 43.06, 41.72, 41.27, 39.42, 42.07, 40.06, 42.1, 38.91, >> 39.28, 42.94, 39.94, 41.86, 38.56, 38.15, 41.47, 42.34, 38.14, >> 40.19, 40.2, 43.01, 42.35, 40.89, 41.44, 42.89, 44.49, 39.1, >> 38.42, 37.44, 43.28, 37.96, 40.56, 41.53, 41.59, 41.45, 42.55, >> 40.6, 44.04, 39.31, 41.08, 37.14, 40.03, 41.49, 40.82, 38.47, >> 43.43, 38.82, 40.4, 41.09, 42.26, 41.85, 41.13, 37.27, 41.97, >> 45.24, 43.35, 40.53, 43.14, 39.71, 42.77, 42.2, 42.13, 41.91, >> 42.59, 41.99, 42.11, 40.43, 40.02, 43.53, 43.01, 39.55, 43.2, >> 39.95, 42.51, 42, 42.26, 42.39, 42.64, 39.9, 41.89, 43.05, 41.02, >> 41.95, 39.92, 43.42, 44.01, 42.6, 40.84, 42.86, 44.31, 42.24, >> 41.25, 42.38, 44.99, 41.24, 43.97, 41.12, 37.88, 41.53, 41.56, >> 39.18, 40.83, 42.96, 41.92, 43.86, 42.48, 42.65, 43.3, 41.99, >> 42.51, 40.65, 42.77, 34.71, 40.97, 38.15, 39.76, 36.74, 37.95, >> 39.17, 38.22, 39.31, 43.57, 37.21, 39.35, 42.37, 42.01, 42.39, >> 43.21, 36.91, 36.69, 41.07, 41.91, 34.63, 40.61, 36.23, 38.12, >> 40.76, 39.14, 41.81, 39.14, 41.04, 37.32, 40.83, 40.81, 38.29, >> 39.61, 40.96, 40.71, 40.47, 38.64, 39.76, 38.19, 39.05, 38.04, >> 41.14, 38.35, 42.3, 34.44, 40.93, 39.3, 41.44, 38.3, 42.74, 36.66, >> 40.02, 36.62, 40.48, 41.72, 41.23, 41.81, 42.07, 40.22, 37.83, >> 36.54, 37.77, 40.49, 38.65, 43.2, 43.32, 40.67, 41.95, 36.11, >> 39.28, 42.38, 40.35, 40.3, 43.48, 40.55, 40.54, 44.03, 41.94, >> 37.97, 41.98, 41.53, 38.19, 38.66, 41.18, 41.95, 42.53, 38.7, >> 44.55, 42.39, 41.55, 38.46, 42.27, 42.19, 41.95, 41.81, 39.81, >> 38.12, 42.94, 42.99, 38.85, 41.26, 43.13, 44.21, 38.54, 44.02, >> 43.46, 41.64, 42.06, 42.11, 42.34, 41.86, 37.91, 40.89, 40.5, >> 39.54, 37.87, 40.86, 41.36, 41.77, 42.03, 39.15, 40.04, 44.11, >> 41.34, 42.97, 38.42, 37.28, 41.04, 41.48, 38.82, 41.94, 37.95, >> 40.9, 40.39, 40.31, 43.19, 41.22, 41.49, 41.25, 40.07, 36.7, >> 39.97, 39.99, 41.7, 37.09, 42.58, 43.01, 37.7, 41.81, 39.99, >> 42.95, 43.19, 42.69, 41.5, 40.64, 43.24, 41.14, 41.21, 41.29, >> 41.43, 44.21, 38.52, 42.54, 40.54, 42.49, 43.2, 38.12, 40.08, >> 39.02, 41.45, 42.33, 41.11, 38.93, 41.63, 44.22, 41.41, 39.08, >> 40.9, 41.1, 43.88, 40.96, 46.75, 47.54, 40.35, 41.97, 44.94, >> 44.91, 44.66, 44.5, 44.4, 46.4, 47.97, 46.05, 45.57, 42.83, 41.48, >> 47.48, 45.43, 41.98, 43.14, 45.6, 44.78, 45.45, 45.69, 44.82, >> 44.24, 41.14, 43.14, 46.61, 43.92, 43.56, 43.68, 45.37, 45.15, >> 40.76, 43.78, 44.67, 41.36, 41.4, 40.97, 41.87, 39.83, 43.8, >> 48.36, 44.28, 43.29, 44.69, 43.26, 43.35, 44.34, 45.08, 42.26, >> 39.7, 42.4, 44.03, 43.22, 42.71, 45.89, 44.89, 44.81, 42.59, >> 40.85, 43.82, 44.85, 47.47, 43.64, 42.65, 45.67, 43.24, 42.33, >> 40.61, 38.3, 39.84, 41.08, 42.33, 44.44, 40.85, 39.58, 42.55, >> 41.75, 39.44, 41.79, 39.31, 41.34, 42.76, 40.79, 37.31, 42.85, >> 42.88, 42.01, 44.63, 38.85, 41.13, 40.43, 41.34, 43.14, 40.58, >> 42.21, 38.94, 44.88, 42.33, 42.61, 41.88, 41.13, 41.83, 42.8)), .Names >> c("field", >> "set", "ent_num", "rep_num", "lp"), class = "data.frame", row.names >> c(NA, >> -787L)) >> >> # session info >> >> R version 3.4.1 (2017-06-30) >> >> Platform: i386-w64-mingw32/i386 (32-bit) >> >> Running under: Windows 7 x64 (build 7601) Service Pack 1 >> >> >> >> Matrix products: default >> >> >> >> locale: >> >> [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United >> States.1252 >> >> [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C >> >> [5] LC_TIME=English_United States.1252 >> >> >> >> attached base packages: >> >> [1] stats graphics grDevices utils datasets methods base >> >> >> >> other attached packages: >> >> [1] bindrcpp_0.2 tidyr_0.6.3 dplyr_0.7.4 >> >> >> >> loaded via a namespace (and not attached): >> >> [1] compiler_3.4.1 magrittr_1.5 assertthat_0.2.0 R6_2.2.2 >> tools_3.4.1 >> >> [6] glue_1.1.1 tibble_1.3.3 Rcpp_0.12.11 stringi_1.1.5 >> pkgconfig_2.0.1 >> >> [11] rlang_0.1.2 bindr_0.1 >> >> This email and any attachments were sent from a Monsanto email account >> and may contain confidential and/or privileged information. If you are not >> the intended recipient, please contact the sender and delete this email and >> any attachments immediately. Any unauthorized use, including disclosing, >> printing, storing, copying or distributing this email, is prohibited. All >> emails and attachments sent to or from Monsanto email accounts may be >> subject to monitoring, reading, and archiving by Monsanto, including its >> affiliates and subsidiaries, as permitted by applicable law. Thank you. >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at 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/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > >[[alternative HTML version deleted]]
Eric: Thanks for taking time to look into my problem. Despite of making the change you suggested, I am still getting the same error. I am wondering if the logic I am using in the stopifnot and if functions is a problem. I like the recursive function to stop whenever the norm_sd column has zero values that are above or equal to 1. Below is the calclp function after the changes you suggested. Thanks. Nilesh dput(calclp) function (dataset) { dat1 <- funlp1(dataset) recursive_funlp <- function(dataset = dat1, func = funlp2) { dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) stopifnot(!(any(dat2$norm_sd >= 1))) if (!(any(dat2$norm_sd >= 1))) { df1 <- dat1 return(df1) } else { df2 <- recursive_funlp() return(df2) } } df3 <- recursive_funlp(dataset = dat1, func = funlp2) df3 } From: Eric Berger [mailto:ericjberger at gmail.com] Sent: Thursday, December 14, 2017 8:17 AM To: DIGHE, NILESH [AG/2362] <nilesh.dighe at monsanto.com> Cc: r-help <r-help at r-project.org> Subject: Re: [R] help with recursive function My own typo ... whoops ... !( any(dat2$norm_sd >= 1 )) On Thu, Dec 14, 2017 at 3:43 PM, Eric Berger <ericjberger at gmail.com<mailto:ericjberger at gmail.com>> wrote: You seem to have a typo at this expression (and some others like it) Namely, you write any(!dat2$norm_sd) >= 1 when you possibly meant to write !( any(dat2$norm_sd) >= 1 ) i.e. I think your ! seems to be in the wrong place. HTH, Eric On Thu, Dec 14, 2017 at 3:26 PM, DIGHE, NILESH [AG/2362] <nilesh.dighe at monsanto.com<mailto:nilesh.dighe at monsanto.com>> wrote: Hi, I need some help with running a recursive function. I like to run funlp2 recursively. When I try to run recursive function in another function named "calclp" I get this "Error: any(!dat2$norm_sd) >= 1 is not TRUE". I have never built a recursive function before so having trouble executing it in this case. I would appreciate any help or guidance to resolve this issue. Please see my data and the three functions that I am using below. Please note that calclp is the function I am running and the other two functions are within this calclp function. # code: Test<- calclp(dataset = dat) # calclp function calclp<- function (dataset) { dat1 <- funlp1(dataset) recursive_funlp <- function(dataset = dat1, func = funlp2) { dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) stopifnot(any(!dat2$norm_sd) >= 1) if (any(!dat2$norm_sd) >= 1) { df1 <- dat1 return(df1) } else { df2 <- recursive_funlp() return(df2) } } df3 <- recursive_funlp(dataset = dat1, func = funlp2) df3 } # funlp1 function funlp1<- function (dataset) { dat2 <- dataset %>% select(field, set, ent_num, rep_num, lp) %>% unite(uniqueid, set, ent_num, sep = ".") %>% unite(field_rep, field, rep_num) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) data1 <- dat2 %>% gather(key, value, -uniqueid, -norm_max, -norm_sd) %>% separate(key, c("field_rep", "treatment"), "\\.<file://.>") %>% spread(treatment, value) %>% mutate(outlier = NA) df_clean <- with(data1, data1[norm_sd < 1, ]) datD <- with(data1, data1[norm_sd >= 1, ]) s <- split(datD, datD$uniqueid) sdf <- lapply(s, function(x) { data.frame(x, x$outlier <- ifelse(is.na<http://is.na>(x$lp_norm), NA, ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) x }) sdf2 <- bind_rows(sdf) all_dat <- bind_rows(df_clean, sdf2) all_dat } # funlp2 function funlp2<-function (dataset) { data1 <- dataset df_clean <- with(data1, data1[norm_sd < 1, ]) datD <- with(data1, data1[norm_sd >= 1, ]) s <- split(datD, datD$uniqueid) sdf <- lapply(s, function(x) { data.frame(x, x$outlier <- ifelse(is.na<http://is.na>(x$lp_norm), NA, ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) x }) sdf2 <- bind_rows(sdf) all_dat <- bind_rows(df_clean, sdf2) all_dat } # dataset dput(dat) structure(list(field = c("LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01"), set = c("seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta"), ent_num = c(23L, 14L, 43L, 30L, 44L, 60L, 17L, 34L, 41L, 40L, 9L, 36L, 38L, 19L, 61L, 51L, 45L, 42L, 3L, 39L, 21L, 11L, 12L, 7L, 35L, 5L, 70L, 47L, 28L, 16L, 72L, 13L, 49L, 67L, 56L, 32L, 27L, 46L, 24L, 63L, 15L, 66L, 26L, 29L, 48L, 1L, 54L, 37L, 2L, 50L, 52L, 31L, 33L, 25L, 6L, 69L, 53L, 10L, 18L, 55L, 59L, 4L, 58L, 22L, 20L, 64L, 71L, 57L, 11L, 17L, 43L, 13L, 1L, 16L, 34L, 47L, 52L, 72L, 59L, 22L, 54L, 18L, 25L, 61L, 56L, 41L, 27L, 14L, 49L, 19L, 29L, 31L, 64L, 6L, 53L, 35L, 37L, 67L, 39L, 51L, 40L, 15L, 69L, 60L, 38L, 4L, 23L, 3L, 48L, 32L, 42L, 24L, 28L, 33L, 57L, 8L, 21L, 46L, 7L, 30L, 45L, 2L, 63L, 36L, 68L, 20L, 66L, 70L, 58L, 5L, 10L, 12L, 62L, 50L, 71L, 9L, 55L, 26L, 44L, 65L, 14L, 63L, 46L, 58L, 62L, 19L, 59L, 2L, 5L, 6L, 40L, 21L, 44L, 37L, 55L, 35L, 71L, 56L, 10L, 36L, 53L, 25L, 61L, 12L, 26L, 23L, 4L, 13L, 28L, 38L, 57L, 54L, 72L, 48L, 66L, 9L, 70L, 15L, 39L, 60L, 17L, 34L, 51L, 67L, 42L, 49L, 31L, 30L, 3L, 18L, 65L, 32L, 27L, 52L, 22L, 11L, 47L, 64L, 8L, 43L, 41L, 16L, 20L, 33L, 7L, 50L, 68L, 24L, 1L, 69L, 45L, 29L, 37L, 30L, 55L, 54L, 43L, 32L, 21L, 27L, 33L, 40L, 67L, 57L, 68L, 31L, 17L, 13L, 6L, 62L, 19L, 22L, 3L, 10L, 44L, 34L, 69L, 70L, 4L, 1L, 25L, 11L, 51L, 5L, 63L, 71L, 12L, 38L, 58L, 39L, 49L, 59L, 56L, 65L, 2L, 64L, 8L, 35L, 46L, 45L, 29L, 53L, 36L, 42L, 23L, 18L, 50L, 26L, 14L, 48L, 66L, 20L, 24L, 7L, 15L, 53L, 22L, 39L, 20L, 60L, 59L, 43L, 19L, 41L, 6L, 62L, 1L, 55L, 34L, 50L, 38L, 40L, 44L, 4L, 46L, 29L, 65L, 57L, 48L, 33L, 69L, 14L, 35L, 67L, 72L, 54L, 3L, 49L, 2L, 12L, 18L, 30L, 10L, 70L, 31L, 15L, 63L, 71L, 21L, 45L, 28L, 56L, 27L, 64L, 61L, 51L, 5L, 24L, 68L, 25L, 66L, 16L, 36L, 58L, 37L, 52L, 26L, 9L, 42L, 7L, 11L, 8L, 32L, 23L, 13L, 47L, 17L, 61L, 72L, 47L, 60L, 16L, 9L, 28L, 52L, 41L, 1L, 61L, 6L, 23L, 58L, 63L, 25L, 28L, 30L, 36L, 62L, 9L, 32L, 19L, 31L, 56L, 45L, 2L, 22L, 27L, 40L, 14L, 11L, 50L, 13L, 70L, 20L, 64L, 39L, 26L, 21L, 43L, 29L, 35L, 54L, 52L, 37L, 17L, 16L, 72L, 48L, 12L, 18L, 44L, 42L, 49L, 68L, 5L, 55L, 69L, 51L, 66L, 59L, 53L, 15L, 71L, 41L, 57L, 4L, 60L, 8L, 7L, 33L, 34L, 24L, 10L, 67L, 47L, 38L, 3L, 65L, 46L, 20L, 34L, 71L, 1L, 33L, 57L, 13L, 21L, 66L, 29L, 3L, 61L, 69L, 24L, 62L, 39L, 49L, 47L, 31L, 53L, 52L, 43L, 17L, 7L, 8L, 12L, 60L, 63L, 50L, 2L, 51L, 46L, 10L, 23L, 48L, 11L, 26L, 40L, 70L, 42L, 59L, 15L, 56L, 58L, 27L, 6L, 35L, 4L, 37L, 5L, 65L, 44L, 28L, 14L, 32L, 36L, 45L, 9L, 18L, 55L, 68L, 30L, 54L, 41L, 25L, 22L, 38L, 16L, 67L, 64L, 19L, 72L, 68L, 28L, 33L, 15L, 51L, 4L, 47L, 36L, 8L, 57L, 48L, 1L, 52L, 39L, 32L, 50L, 13L, 30L, 63L, 2L, 9L, 62L, 22L, 6L, 61L, 16L, 53L, 38L, 37L, 20L, 69L, 44L, 56L, 29L, 26L, 14L, 17L, 46L, 66L, 58L, 42L, 60L, 19L, 45L, 3L, 59L, 70L, 31L, 24L, 55L, 40L, 43L, 25L, 65L, 12L, 67L, 21L, 7L, 27L, 49L, 72L, 54L, 41L, 23L, 34L, 5L, 64L, 35L, 18L, 71L, 11L, 24L, 19L, 38L, 14L, 4L, 56L, 5L, 54L, 34L, 64L, 55L, 33L, 69L, 71L, 52L, 61L, 48L, 23L, 43L, 41L, 20L, 39L, 11L, 63L, 36L, 22L, 9L, 25L, 27L, 51L, 53L, 37L, 57L, 13L, 18L, 64L, 22L, 53L, 16L, 5L, 28L, 60L, 31L, 11L, 29L, 45L, 59L, 72L, 49L, 67L, 13L, 20L, 3L, 42L, 44L, 69L, 33L, 38L, 15L, 70L, 35L, 48L, 26L, 56L, 19L, 39L, 43L, 40L, 14L, 2L, 68L, 51L, 12L, 47L, 10L, 55L, 23L, 4L, 71L, 41L, 50L, 7L, 24L, 61L, 27L, 54L, 46L, 58L, 37L, 66L, 57L, 1L, 36L, 32L, 18L, 62L, 9L, 30L, 21L, 6L, 52L, 8L, 65L, 17L, 25L, 63L, 34L, 65L, 22L, 56L, 9L, 7L, 11L, 31L, 4L, 63L, 29L, 61L, 54L, 12L, 62L, 59L, 5L, 23L, 53L, 36L, 24L, 35L, 66L, 49L, 72L, 18L, 70L, 32L, 43L, 20L, 45L, 34L, 46L, 28L, 6L, 44L, 71L, 39L, 13L, 27L, 1L, 58L, 30L, 68L, 17L, 33L, 26L, 57L, 15L, 21L, 52L, 48L, 42L, 16L, 40L, 38L, 8L, 69L, 2L, 51L, 67L, 55L, 64L, 47L, 60L, 19L, 41L, 50L, 3L, 14L, 25L, 10L, 37L, 6L, 15L, 45L, 49L, 8L, 17L, 50L, 16L, 58L, 72L, 26L, 60L, 7L, 32L, 1L, 46L, 66L, 68L, 62L, 47L, 35L, 70L, 10L, 31L, 65L, 2L, 3L, 21L, 12L, 30L, 40L, 28L, 59L, 42L, 67L, 44L, 29L ), rep_num = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), lp = c(NA, 41.64, 38.8, 44.45, 40.54, 38.54, 41.94, 39.6, 37.39, 40.95, 38.45, 43.47, 41.66, 40.91, 42.68, 43.12, 38.22, 40.95, 46.24, 42.95, 38.95, 39.88, 40.57, 40.13, 38.57, 45.45, 40.78, 43.52, 39.75, 39.93, 40.35, 37.6, 37.7, 43.05, 43.32, 41.31, 39.03, 42.5, 43.18, 41.32, 39.58, 40.62, 39.64, 39.85, 38.75, 40.18, 41.44, 40.5, 40.87, 40.75, 38.37, 40.26, 35.11, 40.89, 41.67, 38.87, 37.32, 35.85, 38.25, 42.21, 43.15, 38.69, 38.8, 38.77, 37.98, 39.8, 33.37, 40.09, 42.87, 44.07, 43.78, 42.47, 42.8, 41.1, 41.17, 44.07, 44.24, 43.16, 46.12, 42.64, 43.92, 42.16, 43.69, 42.89, 42.63, 43.58, 44.4, 43.17, 43.3, 42.5, 42.6, 44.05, 44.63, 43.09, 45.17, 45.17, 42.78, 42.38, 45.76, 42.16, 44.22, 43.67, 40.45, 41.95, 42.49, 41.98, 45.15, 46.01, 38.51, 43.08, 45.19, 44.53, 43.14, 39.93, 46.84, 43.59, 41.68, 43.7, 44.63, 44.02, 42.07, 43.88, 43.2, 46.2, 40.84, 39.14, 43.89, 42.58, 41.53, 45.32, 39.56, 43.77, 45.45, 45.16, 43.4, 40.08, 42.27, 43.74, 43.77, 41.31, 41.38, 45.01, 45.76, 40.4, 48.39, 46.27, 15.44, 44.76, 47.45, 44.87, 46.8, 41.83, 43.03, 43.96, 42.51, 45.06, 45.55, 44.9, 42.47, 44.9, 45, 44.77, 43.79, 44.26, 44.57, 44.4, 43.42, 42.31, 47.18, 43.83, 45.72, 44.83, 44.96, 40.28, 42.85, 41.23, 45.23, 47.09, 43.61, 42.69, 46.27, 45.16, 44.14, 43.34, 45.97, 43.81, 43.01, 39.82, 45.91, 45.97, 43.61, 45.12, 46.37, 42.67, 42.47, 45.86, 44.19, 44.46, 42.64, 43.95, 44.93, 40.33, 42.75, 39.92, 44.17, 44.49, 41.51, 42.43, 44.14, 40.5, 41.29, 44.89, 37.98, 39.02, 39.62, 42.13, 39.03, 44.16, 39.15, 41.49, 42.63, 40.11, 39.97, 42.85, 35.98, 39.45, 40.99, 42.44, 42.11, 37.36, 40.63, 40.69, 43.57, 39.04, 39.3, 42.19, 36.88, 40.39, 37.78, 38.6, 40.2, 40.98, 36.58, 43.59, 42.49, 39.96, 39.84, 40.43, 38.94, 42.72, 39.43, 42.13, 40.36, 40.58, 40.01, 42.17, 42.17, 41.35, 43.27, 40.15, 39.76, 40.94, 40.87, 42.32, 41.81, 41.97, 43.72, 41.32, 40.83, 37.64, 41.03, 38.98, 40.61, 41.17, 41.96, 40.07, 38.48, 42.85, 38.68, 39.09, 42.16, 38.14, 37.99, 41.06, 37.4, 41.88, 39.35, 39.73, 38.38, 41.34, 40.67, 40.89, 39.28, 37.59, 39.3, 39.72, 40.79, 39.42, 34.5, 37.61, 37.76, 40.24, 41.17, 41.24, 42.14, 42.53, 39.71, 39.44, 40.19, 42.51, 40.15, 36.26, 37.48, 40.43, 37.5, 42.11, 41.44, 40.29, 39.75, 37.58, 41.25, 40.39, 41.63, 42.18, 43.71, 38.69, 43.47, 41.98, 35.51, 42.22, 38.51, 40.17, 39.4, 39.54, 41.7, 40.93, 40.01, 35.97, 41.44, 41.89, 40.9, 39.95, 40.69, 43.18, 37.03, 39.91, 36.75, 42.75, 41.61, 42.6, 38.55, 42.84, 38.41, 42.55, 41.44, 41.03, 40, 41.35, 42.18, 42.66, 40.06, 42.48, 41.33, 41.92, 40.88, 40.99, 42.78, 38.26, 40.81, 39.95, 37.89, 40.81, 38.33, 39.33, 39.67, 40.12, 41.75, 39.81, 41.92, 44.59, 37.8, 40.54, 40.49, 41.82, 42.13, 39.93, 39.94, 42.54, 41.74, 43.06, 41.72, 41.27, 39.42, 42.07, 40.06, 42.1, 38.91, 39.28, 42.94, 39.94, 41.86, 38.56, 38.15, 41.47, 42.34, 38.14, 40.19, 40.2, 43.01, 42.35, 40.89, 41.44, 42.89, 44.49, 39.1, 38.42, 37.44, 43.28, 37.96, 40.56, 41.53, 41.59, 41.45, 42.55, 40.6, 44.04, 39.31, 41.08, 37.14, 40.03, 41.49, 40.82, 38.47, 43.43, 38.82, 40.4, 41.09, 42.26, 41.85, 41.13, 37.27, 41.97, 45.24, 43.35, 40.53, 43.14, 39.71, 42.77, 42.2, 42.13, 41.91, 42.59, 41.99, 42.11, 40.43, 40.02, 43.53, 43.01, 39.55, 43.2, 39.95, 42.51, 42, 42.26, 42.39, 42.64, 39.9, 41.89, 43.05, 41.02, 41.95, 39.92, 43.42, 44.01, 42.6, 40.84, 42.86, 44.31, 42.24, 41.25, 42.38, 44.99, 41.24, 43.97, 41.12, 37.88, 41.53, 41.56, 39.18, 40.83, 42.96, 41.92, 43.86, 42.48, 42.65, 43.3, 41.99, 42.51, 40.65, 42.77, 34.71, 40.97, 38.15, 39.76, 36.74, 37.95, 39.17, 38.22, 39.31, 43.57, 37.21, 39.35, 42.37, 42.01, 42.39, 43.21, 36.91, 36.69, 41.07, 41.91, 34.63, 40.61, 36.23, 38.12, 40.76, 39.14, 41.81, 39.14, 41.04, 37.32, 40.83, 40.81, 38.29, 39.61, 40.96, 40.71, 40.47, 38.64, 39.76, 38.19, 39.05, 38.04, 41.14, 38.35, 42.3, 34.44, 40.93, 39.3, 41.44, 38.3, 42.74, 36.66, 40.02, 36.62, 40.48, 41.72, 41.23, 41.81, 42.07, 40.22, 37.83, 36.54, 37.77, 40.49, 38.65, 43.2, 43.32, 40.67, 41.95, 36.11, 39.28, 42.38, 40.35, 40.3, 43.48, 40.55, 40.54, 44.03, 41.94, 37.97, 41.98, 41.53, 38.19, 38.66, 41.18, 41.95, 42.53, 38.7, 44.55, 42.39, 41.55, 38.46, 42.27, 42.19, 41.95, 41.81, 39.81, 38.12, 42.94, 42.99, 38.85, 41.26, 43.13, 44.21, 38.54, 44.02, 43.46, 41.64, 42.06, 42.11, 42.34, 41.86, 37.91, 40.89, 40.5, 39.54, 37.87, 40.86, 41.36, 41.77, 42.03, 39.15, 40.04, 44.11, 41.34, 42.97, 38.42, 37.28, 41.04, 41.48, 38.82, 41.94, 37.95, 40.9, 40.39, 40.31, 43.19, 41.22, 41.49, 41.25, 40.07, 36.7, 39.97, 39.99, 41.7, 37.09, 42.58, 43.01, 37.7, 41.81, 39.99, 42.95, 43.19, 42.69, 41.5, 40.64, 43.24, 41.14, 41.21, 41.29, 41.43, 44.21, 38.52, 42.54, 40.54, 42.49, 43.2, 38.12, 40.08, 39.02, 41.45, 42.33, 41.11, 38.93, 41.63, 44.22, 41.41, 39.08, 40.9, 41.1, 43.88, 40.96, 46.75, 47.54, 40.35, 41.97, 44.94, 44.91, 44.66, 44.5, 44.4, 46.4, 47.97, 46.05, 45.57, 42.83, 41.48, 47.48, 45.43, 41.98, 43.14, 45.6, 44.78, 45.45, 45.69, 44.82, 44.24, 41.14, 43.14, 46.61, 43.92, 43.56, 43.68, 45.37, 45.15, 40.76, 43.78, 44.67, 41.36, 41.4, 40.97, 41.87, 39.83, 43.8, 48.36, 44.28, 43.29, 44.69, 43.26, 43.35, 44.34, 45.08, 42.26, 39.7, 42.4, 44.03, 43.22, 42.71, 45.89, 44.89, 44.81, 42.59, 40.85, 43.82, 44.85, 47.47, 43.64, 42.65, 45.67, 43.24, 42.33, 40.61, 38.3, 39.84, 41.08, 42.33, 44.44, 40.85, 39.58, 42.55, 41.75, 39.44, 41.79, 39.31, 41.34, 42.76, 40.79, 37.31, 42.85, 42.88, 42.01, 44.63, 38.85, 41.13, 40.43, 41.34, 43.14, 40.58, 42.21, 38.94, 44.88, 42.33, 42.61, 41.88, 41.13, 41.83, 42.8)), .Names = c("field", "set", "ent_num", "rep_num", "lp"), class = "data.frame", row.names = c(NA, -787L)) # session info R version 3.4.1 (2017-06-30) Platform: i386-w64-mingw32/i386 (32-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1 Matrix products: default locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] bindrcpp_0.2 tidyr_0.6.3 dplyr_0.7.4 loaded via a namespace (and not attached): [1] compiler_3.4.1 magrittr_1.5 assertthat_0.2.0 R6_2.2.2 tools_3.4.1 [6] glue_1.1.1 tibble_1.3.3 Rcpp_0.12.11 stringi_1.1.5 pkgconfig_2.0.1 [11] rlang_0.1.2 bindr_0.1 This email and any attachments were sent from a Monsanto email account and may contain confidential and/or privileged information. If you are not the intended recipient, please contact the sender and delete this email and any attachments immediately. Any unauthorized use, including disclosing, printing, storing, copying or distributing this email, is prohibited. All emails and attachments sent to or from Monsanto email accounts may be subject to monitoring, reading, and archiving by Monsanto, including its affiliates and subsidiaries, as permitted by applicable law. Thank you. [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org<mailto:R-help at 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. This email and any attachments were sent from a Monsanto email account and may contain confidential and/or privileged information. If you are not the intended recipient, please contact the sender and delete this email and any attachments immediately. Any unauthorized use, including disclosing, printing, storing, copying or distributing this email, is prohibited. All emails and attachments sent to or from Monsanto email accounts may be subject to monitoring, reading, and archiving by Monsanto, including its affiliates and subsidiaries, as permitted by applicable law. Thank you. [[alternative HTML version deleted]]
Hi, I accidently left out few lines of code from the calclp function. Updated function is pasted below. I am still getting the same error ?Error: !(any(data1$norm_sd >= 1)) is not TRUE? I would appreciate any help. Nilesh dput(calclp) function (dataset) { dat1 <- funlp1(dataset) recursive_funlp <- function(dataset = dat1, func = funlp2) { dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) data1 <- dat2 %>% gather(key, value, -uniqueid, -norm_max, -norm_sd) %>% separate(key, c("field_rep", "treatment"), "\\.") %>% spread(treatment, value) %>% mutate(outlier = NA) stopifnot(!(any(data1$norm_sd >= 1))) if (!(any(data1$norm_sd >= 1))) { df1 <- dat1 return(df1) } else { df2 <- recursive_funlp() return(df2) } } df3 <- recursive_funlp(dataset = dat1, func = funlp2) df3 } From: DIGHE, NILESH [AG/2362] Sent: Thursday, December 14, 2017 9:01 AM To: 'Eric Berger' <ericjberger at gmail.com> Cc: r-help <r-help at r-project.org> Subject: RE: [R] help with recursive function Eric: Thanks for taking time to look into my problem. Despite of making the change you suggested, I am still getting the same error. I am wondering if the logic I am using in the stopifnot and if functions is a problem. I like the recursive function to stop whenever the norm_sd column has zero values that are above or equal to 1. Below is the calclp function after the changes you suggested. Thanks. Nilesh dput(calclp) function (dataset) { dat1 <- funlp1(dataset) recursive_funlp <- function(dataset = dat1, func = funlp2) { dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) stopifnot(!(any(dat2$norm_sd >= 1))) if (!(any(dat2$norm_sd >= 1))) { df1 <- dat1 return(df1) } else { df2 <- recursive_funlp() return(df2) } } df3 <- recursive_funlp(dataset = dat1, func = funlp2) df3 } From: Eric Berger [mailto:ericjberger at gmail.com] Sent: Thursday, December 14, 2017 8:17 AM To: DIGHE, NILESH [AG/2362] <nilesh.dighe at monsanto.com<mailto:nilesh.dighe at monsanto.com>> Cc: r-help <r-help at r-project.org<mailto:r-help at r-project.org>> Subject: Re: [R] help with recursive function My own typo ... whoops ... !( any(dat2$norm_sd >= 1 )) On Thu, Dec 14, 2017 at 3:43 PM, Eric Berger <ericjberger at gmail.com<mailto:ericjberger at gmail.com>> wrote: You seem to have a typo at this expression (and some others like it) Namely, you write any(!dat2$norm_sd) >= 1 when you possibly meant to write !( any(dat2$norm_sd) >= 1 ) i.e. I think your ! seems to be in the wrong place. HTH, Eric On Thu, Dec 14, 2017 at 3:26 PM, DIGHE, NILESH [AG/2362] <nilesh.dighe at monsanto.com<mailto:nilesh.dighe at monsanto.com>> wrote: Hi, I need some help with running a recursive function. I like to run funlp2 recursively. When I try to run recursive function in another function named "calclp" I get this "Error: any(!dat2$norm_sd) >= 1 is not TRUE". I have never built a recursive function before so having trouble executing it in this case. I would appreciate any help or guidance to resolve this issue. Please see my data and the three functions that I am using below. Please note that calclp is the function I am running and the other two functions are within this calclp function. # code: Test<- calclp(dataset = dat) # calclp function calclp<- function (dataset) { dat1 <- funlp1(dataset) recursive_funlp <- function(dataset = dat1, func = funlp2) { dat2 <- dataset %>% select(uniqueid, field_rep, lp) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) stopifnot(any(!dat2$norm_sd) >= 1) if (any(!dat2$norm_sd) >= 1) { df1 <- dat1 return(df1) } else { df2 <- recursive_funlp() return(df2) } } df3 <- recursive_funlp(dataset = dat1, func = funlp2) df3 } # funlp1 function funlp1<- function (dataset) { dat2 <- dataset %>% select(field, set, ent_num, rep_num, lp) %>% unite(uniqueid, set, ent_num, sep = ".") %>% unite(field_rep, field, rep_num) %>% mutate(field_rep = paste(field_rep, "lp", sep = ".")) %>% spread(key = field_rep, value = lp) %>% mutate_at(.vars = grep("_", names(.)), funs(norm = round(scale(.), 3))) dat2$norm_sd <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, sd, na.rm = TRUE), 3) dat2$norm_max <- round(apply(dat2[, grep("lp_norm", names(dat2))], 1, function(x) { max(abs(x), na.rm = TRUE) }), 3) data1 <- dat2 %>% gather(key, value, -uniqueid, -norm_max, -norm_sd) %>% separate(key, c("field_rep", "treatment"), "\\.<file://.>") %>% spread(treatment, value) %>% mutate(outlier = NA) df_clean <- with(data1, data1[norm_sd < 1, ]) datD <- with(data1, data1[norm_sd >= 1, ]) s <- split(datD, datD$uniqueid) sdf <- lapply(s, function(x) { data.frame(x, x$outlier <- ifelse(is.na<http://is.na>(x$lp_norm), NA, ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) x }) sdf2 <- bind_rows(sdf) all_dat <- bind_rows(df_clean, sdf2) all_dat } # funlp2 function funlp2<-function (dataset) { data1 <- dataset df_clean <- with(data1, data1[norm_sd < 1, ]) datD <- with(data1, data1[norm_sd >= 1, ]) s <- split(datD, datD$uniqueid) sdf <- lapply(s, function(x) { data.frame(x, x$outlier <- ifelse(is.na<http://is.na>(x$lp_norm), NA, ifelse(abs(x$lp_norm) == x$norm_max, "yes", "no")), x$lp <- with(x, ifelse(outlier == "yes", NA, lp))) x }) sdf2 <- bind_rows(sdf) all_dat <- bind_rows(df_clean, sdf2) all_dat } # dataset dput(dat) structure(list(field = c("LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "LM01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "OL01", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "SGI1", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "O2LS", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "B2NW", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "17C3", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "WCI1", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "NY01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "MAND", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "28EP", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01", "EX01"), set = c("seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta", "seta"), ent_num = c(23L, 14L, 43L, 30L, 44L, 60L, 17L, 34L, 41L, 40L, 9L, 36L, 38L, 19L, 61L, 51L, 45L, 42L, 3L, 39L, 21L, 11L, 12L, 7L, 35L, 5L, 70L, 47L, 28L, 16L, 72L, 13L, 49L, 67L, 56L, 32L, 27L, 46L, 24L, 63L, 15L, 66L, 26L, 29L, 48L, 1L, 54L, 37L, 2L, 50L, 52L, 31L, 33L, 25L, 6L, 69L, 53L, 10L, 18L, 55L, 59L, 4L, 58L, 22L, 20L, 64L, 71L, 57L, 11L, 17L, 43L, 13L, 1L, 16L, 34L, 47L, 52L, 72L, 59L, 22L, 54L, 18L, 25L, 61L, 56L, 41L, 27L, 14L, 49L, 19L, 29L, 31L, 64L, 6L, 53L, 35L, 37L, 67L, 39L, 51L, 40L, 15L, 69L, 60L, 38L, 4L, 23L, 3L, 48L, 32L, 42L, 24L, 28L, 33L, 57L, 8L, 21L, 46L, 7L, 30L, 45L, 2L, 63L, 36L, 68L, 20L, 66L, 70L, 58L, 5L, 10L, 12L, 62L, 50L, 71L, 9L, 55L, 26L, 44L, 65L, 14L, 63L, 46L, 58L, 62L, 19L, 59L, 2L, 5L, 6L, 40L, 21L, 44L, 37L, 55L, 35L, 71L, 56L, 10L, 36L, 53L, 25L, 61L, 12L, 26L, 23L, 4L, 13L, 28L, 38L, 57L, 54L, 72L, 48L, 66L, 9L, 70L, 15L, 39L, 60L, 17L, 34L, 51L, 67L, 42L, 49L, 31L, 30L, 3L, 18L, 65L, 32L, 27L, 52L, 22L, 11L, 47L, 64L, 8L, 43L, 41L, 16L, 20L, 33L, 7L, 50L, 68L, 24L, 1L, 69L, 45L, 29L, 37L, 30L, 55L, 54L, 43L, 32L, 21L, 27L, 33L, 40L, 67L, 57L, 68L, 31L, 17L, 13L, 6L, 62L, 19L, 22L, 3L, 10L, 44L, 34L, 69L, 70L, 4L, 1L, 25L, 11L, 51L, 5L, 63L, 71L, 12L, 38L, 58L, 39L, 49L, 59L, 56L, 65L, 2L, 64L, 8L, 35L, 46L, 45L, 29L, 53L, 36L, 42L, 23L, 18L, 50L, 26L, 14L, 48L, 66L, 20L, 24L, 7L, 15L, 53L, 22L, 39L, 20L, 60L, 59L, 43L, 19L, 41L, 6L, 62L, 1L, 55L, 34L, 50L, 38L, 40L, 44L, 4L, 46L, 29L, 65L, 57L, 48L, 33L, 69L, 14L, 35L, 67L, 72L, 54L, 3L, 49L, 2L, 12L, 18L, 30L, 10L, 70L, 31L, 15L, 63L, 71L, 21L, 45L, 28L, 56L, 27L, 64L, 61L, 51L, 5L, 24L, 68L, 25L, 66L, 16L, 36L, 58L, 37L, 52L, 26L, 9L, 42L, 7L, 11L, 8L, 32L, 23L, 13L, 47L, 17L, 61L, 72L, 47L, 60L, 16L, 9L, 28L, 52L, 41L, 1L, 61L, 6L, 23L, 58L, 63L, 25L, 28L, 30L, 36L, 62L, 9L, 32L, 19L, 31L, 56L, 45L, 2L, 22L, 27L, 40L, 14L, 11L, 50L, 13L, 70L, 20L, 64L, 39L, 26L, 21L, 43L, 29L, 35L, 54L, 52L, 37L, 17L, 16L, 72L, 48L, 12L, 18L, 44L, 42L, 49L, 68L, 5L, 55L, 69L, 51L, 66L, 59L, 53L, 15L, 71L, 41L, 57L, 4L, 60L, 8L, 7L, 33L, 34L, 24L, 10L, 67L, 47L, 38L, 3L, 65L, 46L, 20L, 34L, 71L, 1L, 33L, 57L, 13L, 21L, 66L, 29L, 3L, 61L, 69L, 24L, 62L, 39L, 49L, 47L, 31L, 53L, 52L, 43L, 17L, 7L, 8L, 12L, 60L, 63L, 50L, 2L, 51L, 46L, 10L, 23L, 48L, 11L, 26L, 40L, 70L, 42L, 59L, 15L, 56L, 58L, 27L, 6L, 35L, 4L, 37L, 5L, 65L, 44L, 28L, 14L, 32L, 36L, 45L, 9L, 18L, 55L, 68L, 30L, 54L, 41L, 25L, 22L, 38L, 16L, 67L, 64L, 19L, 72L, 68L, 28L, 33L, 15L, 51L, 4L, 47L, 36L, 8L, 57L, 48L, 1L, 52L, 39L, 32L, 50L, 13L, 30L, 63L, 2L, 9L, 62L, 22L, 6L, 61L, 16L, 53L, 38L, 37L, 20L, 69L, 44L, 56L, 29L, 26L, 14L, 17L, 46L, 66L, 58L, 42L, 60L, 19L, 45L, 3L, 59L, 70L, 31L, 24L, 55L, 40L, 43L, 25L, 65L, 12L, 67L, 21L, 7L, 27L, 49L, 72L, 54L, 41L, 23L, 34L, 5L, 64L, 35L, 18L, 71L, 11L, 24L, 19L, 38L, 14L, 4L, 56L, 5L, 54L, 34L, 64L, 55L, 33L, 69L, 71L, 52L, 61L, 48L, 23L, 43L, 41L, 20L, 39L, 11L, 63L, 36L, 22L, 9L, 25L, 27L, 51L, 53L, 37L, 57L, 13L, 18L, 64L, 22L, 53L, 16L, 5L, 28L, 60L, 31L, 11L, 29L, 45L, 59L, 72L, 49L, 67L, 13L, 20L, 3L, 42L, 44L, 69L, 33L, 38L, 15L, 70L, 35L, 48L, 26L, 56L, 19L, 39L, 43L, 40L, 14L, 2L, 68L, 51L, 12L, 47L, 10L, 55L, 23L, 4L, 71L, 41L, 50L, 7L, 24L, 61L, 27L, 54L, 46L, 58L, 37L, 66L, 57L, 1L, 36L, 32L, 18L, 62L, 9L, 30L, 21L, 6L, 52L, 8L, 65L, 17L, 25L, 63L, 34L, 65L, 22L, 56L, 9L, 7L, 11L, 31L, 4L, 63L, 29L, 61L, 54L, 12L, 62L, 59L, 5L, 23L, 53L, 36L, 24L, 35L, 66L, 49L, 72L, 18L, 70L, 32L, 43L, 20L, 45L, 34L, 46L, 28L, 6L, 44L, 71L, 39L, 13L, 27L, 1L, 58L, 30L, 68L, 17L, 33L, 26L, 57L, 15L, 21L, 52L, 48L, 42L, 16L, 40L, 38L, 8L, 69L, 2L, 51L, 67L, 55L, 64L, 47L, 60L, 19L, 41L, 50L, 3L, 14L, 25L, 10L, 37L, 6L, 15L, 45L, 49L, 8L, 17L, 50L, 16L, 58L, 72L, 26L, 60L, 7L, 32L, 1L, 46L, 66L, 68L, 62L, 47L, 35L, 70L, 10L, 31L, 65L, 2L, 3L, 21L, 12L, 30L, 40L, 28L, 59L, 42L, 67L, 44L, 29L ), rep_num = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), lp = c(NA, 41.64, 38.8, 44.45, 40.54, 38.54, 41.94, 39.6, 37.39, 40.95, 38.45, 43.47, 41.66, 40.91, 42.68, 43.12, 38.22, 40.95, 46.24, 42.95, 38.95, 39.88, 40.57, 40.13, 38.57, 45.45, 40.78, 43.52, 39.75, 39.93, 40.35, 37.6, 37.7, 43.05, 43.32, 41.31, 39.03, 42.5, 43.18, 41.32, 39.58, 40.62, 39.64, 39.85, 38.75, 40.18, 41.44, 40.5, 40.87, 40.75, 38.37, 40.26, 35.11, 40.89, 41.67, 38.87, 37.32, 35.85, 38.25, 42.21, 43.15, 38.69, 38.8, 38.77, 37.98, 39.8, 33.37, 40.09, 42.87, 44.07, 43.78, 42.47, 42.8, 41.1, 41.17, 44.07, 44.24, 43.16, 46.12, 42.64, 43.92, 42.16, 43.69, 42.89, 42.63, 43.58, 44.4, 43.17, 43.3, 42.5, 42.6, 44.05, 44.63, 43.09, 45.17, 45.17, 42.78, 42.38, 45.76, 42.16, 44.22, 43.67, 40.45, 41.95, 42.49, 41.98, 45.15, 46.01, 38.51, 43.08, 45.19, 44.53, 43.14, 39.93, 46.84, 43.59, 41.68, 43.7, 44.63, 44.02, 42.07, 43.88, 43.2, 46.2, 40.84, 39.14, 43.89, 42.58, 41.53, 45.32, 39.56, 43.77, 45.45, 45.16, 43.4, 40.08, 42.27, 43.74, 43.77, 41.31, 41.38, 45.01, 45.76, 40.4, 48.39, 46.27, 15.44, 44.76, 47.45, 44.87, 46.8, 41.83, 43.03, 43.96, 42.51, 45.06, 45.55, 44.9, 42.47, 44.9, 45, 44.77, 43.79, 44.26, 44.57, 44.4, 43.42, 42.31, 47.18, 43.83, 45.72, 44.83, 44.96, 40.28, 42.85, 41.23, 45.23, 47.09, 43.61, 42.69, 46.27, 45.16, 44.14, 43.34, 45.97, 43.81, 43.01, 39.82, 45.91, 45.97, 43.61, 45.12, 46.37, 42.67, 42.47, 45.86, 44.19, 44.46, 42.64, 43.95, 44.93, 40.33, 42.75, 39.92, 44.17, 44.49, 41.51, 42.43, 44.14, 40.5, 41.29, 44.89, 37.98, 39.02, 39.62, 42.13, 39.03, 44.16, 39.15, 41.49, 42.63, 40.11, 39.97, 42.85, 35.98, 39.45, 40.99, 42.44, 42.11, 37.36, 40.63, 40.69, 43.57, 39.04, 39.3, 42.19, 36.88, 40.39, 37.78, 38.6, 40.2, 40.98, 36.58, 43.59, 42.49, 39.96, 39.84, 40.43, 38.94, 42.72, 39.43, 42.13, 40.36, 40.58, 40.01, 42.17, 42.17, 41.35, 43.27, 40.15, 39.76, 40.94, 40.87, 42.32, 41.81, 41.97, 43.72, 41.32, 40.83, 37.64, 41.03, 38.98, 40.61, 41.17, 41.96, 40.07, 38.48, 42.85, 38.68, 39.09, 42.16, 38.14, 37.99, 41.06, 37.4, 41.88, 39.35, 39.73, 38.38, 41.34, 40.67, 40.89, 39.28, 37.59, 39.3, 39.72, 40.79, 39.42, 34.5, 37.61, 37.76, 40.24, 41.17, 41.24, 42.14, 42.53, 39.71, 39.44, 40.19, 42.51, 40.15, 36.26, 37.48, 40.43, 37.5, 42.11, 41.44, 40.29, 39.75, 37.58, 41.25, 40.39, 41.63, 42.18, 43.71, 38.69, 43.47, 41.98, 35.51, 42.22, 38.51, 40.17, 39.4, 39.54, 41.7, 40.93, 40.01, 35.97, 41.44, 41.89, 40.9, 39.95, 40.69, 43.18, 37.03, 39.91, 36.75, 42.75, 41.61, 42.6, 38.55, 42.84, 38.41, 42.55, 41.44, 41.03, 40, 41.35, 42.18, 42.66, 40.06, 42.48, 41.33, 41.92, 40.88, 40.99, 42.78, 38.26, 40.81, 39.95, 37.89, 40.81, 38.33, 39.33, 39.67, 40.12, 41.75, 39.81, 41.92, 44.59, 37.8, 40.54, 40.49, 41.82, 42.13, 39.93, 39.94, 42.54, 41.74, 43.06, 41.72, 41.27, 39.42, 42.07, 40.06, 42.1, 38.91, 39.28, 42.94, 39.94, 41.86, 38.56, 38.15, 41.47, 42.34, 38.14, 40.19, 40.2, 43.01, 42.35, 40.89, 41.44, 42.89, 44.49, 39.1, 38.42, 37.44, 43.28, 37.96, 40.56, 41.53, 41.59, 41.45, 42.55, 40.6, 44.04, 39.31, 41.08, 37.14, 40.03, 41.49, 40.82, 38.47, 43.43, 38.82, 40.4, 41.09, 42.26, 41.85, 41.13, 37.27, 41.97, 45.24, 43.35, 40.53, 43.14, 39.71, 42.77, 42.2, 42.13, 41.91, 42.59, 41.99, 42.11, 40.43, 40.02, 43.53, 43.01, 39.55, 43.2, 39.95, 42.51, 42, 42.26, 42.39, 42.64, 39.9, 41.89, 43.05, 41.02, 41.95, 39.92, 43.42, 44.01, 42.6, 40.84, 42.86, 44.31, 42.24, 41.25, 42.38, 44.99, 41.24, 43.97, 41.12, 37.88, 41.53, 41.56, 39.18, 40.83, 42.96, 41.92, 43.86, 42.48, 42.65, 43.3, 41.99, 42.51, 40.65, 42.77, 34.71, 40.97, 38.15, 39.76, 36.74, 37.95, 39.17, 38.22, 39.31, 43.57, 37.21, 39.35, 42.37, 42.01, 42.39, 43.21, 36.91, 36.69, 41.07, 41.91, 34.63, 40.61, 36.23, 38.12, 40.76, 39.14, 41.81, 39.14, 41.04, 37.32, 40.83, 40.81, 38.29, 39.61, 40.96, 40.71, 40.47, 38.64, 39.76, 38.19, 39.05, 38.04, 41.14, 38.35, 42.3, 34.44, 40.93, 39.3, 41.44, 38.3, 42.74, 36.66, 40.02, 36.62, 40.48, 41.72, 41.23, 41.81, 42.07, 40.22, 37.83, 36.54, 37.77, 40.49, 38.65, 43.2, 43.32, 40.67, 41.95, 36.11, 39.28, 42.38, 40.35, 40.3, 43.48, 40.55, 40.54, 44.03, 41.94, 37.97, 41.98, 41.53, 38.19, 38.66, 41.18, 41.95, 42.53, 38.7, 44.55, 42.39, 41.55, 38.46, 42.27, 42.19, 41.95, 41.81, 39.81, 38.12, 42.94, 42.99, 38.85, 41.26, 43.13, 44.21, 38.54, 44.02, 43.46, 41.64, 42.06, 42.11, 42.34, 41.86, 37.91, 40.89, 40.5, 39.54, 37.87, 40.86, 41.36, 41.77, 42.03, 39.15, 40.04, 44.11, 41.34, 42.97, 38.42, 37.28, 41.04, 41.48, 38.82, 41.94, 37.95, 40.9, 40.39, 40.31, 43.19, 41.22, 41.49, 41.25, 40.07, 36.7, 39.97, 39.99, 41.7, 37.09, 42.58, 43.01, 37.7, 41.81, 39.99, 42.95, 43.19, 42.69, 41.5, 40.64, 43.24, 41.14, 41.21, 41.29, 41.43, 44.21, 38.52, 42.54, 40.54, 42.49, 43.2, 38.12, 40.08, 39.02, 41.45, 42.33, 41.11, 38.93, 41.63, 44.22, 41.41, 39.08, 40.9, 41.1, 43.88, 40.96, 46.75, 47.54, 40.35, 41.97, 44.94, 44.91, 44.66, 44.5, 44.4, 46.4, 47.97, 46.05, 45.57, 42.83, 41.48, 47.48, 45.43, 41.98, 43.14, 45.6, 44.78, 45.45, 45.69, 44.82, 44.24, 41.14, 43.14, 46.61, 43.92, 43.56, 43.68, 45.37, 45.15, 40.76, 43.78, 44.67, 41.36, 41.4, 40.97, 41.87, 39.83, 43.8, 48.36, 44.28, 43.29, 44.69, 43.26, 43.35, 44.34, 45.08, 42.26, 39.7, 42.4, 44.03, 43.22, 42.71, 45.89, 44.89, 44.81, 42.59, 40.85, 43.82, 44.85, 47.47, 43.64, 42.65, 45.67, 43.24, 42.33, 40.61, 38.3, 39.84, 41.08, 42.33, 44.44, 40.85, 39.58, 42.55, 41.75, 39.44, 41.79, 39.31, 41.34, 42.76, 40.79, 37.31, 42.85, 42.88, 42.01, 44.63, 38.85, 41.13, 40.43, 41.34, 43.14, 40.58, 42.21, 38.94, 44.88, 42.33, 42.61, 41.88, 41.13, 41.83, 42.8)), .Names = c("field", "set", "ent_num", "rep_num", "lp"), class = "data.frame", row.names = c(NA, -787L)) # session info R version 3.4.1 (2017-06-30) Platform: i386-w64-mingw32/i386 (32-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1 Matrix products: default locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] bindrcpp_0.2 tidyr_0.6.3 dplyr_0.7.4 loaded via a namespace (and not attached): [1] compiler_3.4.1 magrittr_1.5 assertthat_0.2.0 R6_2.2.2 tools_3.4.1 [6] glue_1.1.1 tibble_1.3.3 Rcpp_0.12.11 stringi_1.1.5 pkgconfig_2.0.1 [11] rlang_0.1.2 bindr_0.1 This email and any attachments were sent from a Monsanto email account and may contain confidential and/or privileged information. If you are not the intended recipient, please contact the sender and delete this email and any attachments immediately. Any unauthorized use, including disclosing, printing, storing, copying or distributing this email, is prohibited. All emails and attachments sent to or from Monsanto email accounts may be subject to monitoring, reading, and archiving by Monsanto, including its affiliates and subsidiaries, as permitted by applicable law. Thank you. [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org<mailto:R-help at 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. This email and any attachments were sent from a Monsanto email account and may contain confidential and/or privileged information. If you are not the intended recipient, please contact the sender and delete this email and any attachments immediately. Any unauthorized use, including disclosing, printing, storing, copying or distributing this email, is prohibited. All emails and attachments sent to or from Monsanto email accounts may be subject to monitoring, reading, and archiving by Monsanto, including its affiliates and subsidiaries, as permitted by applicable law. Thank you. [[alternative HTML version deleted]]