0

I have a dataframe that looks like this (dput is below):

Date        SiteSub       HeatingDegreeDay MCnt  MCnt_lag7  MCnt_lag9
2009-11-01  EC_BC.Z_Z     0.00             0     0          0
2009-11-02  EC_BC.Z_Z     0.00             0     0          0
2009-11-03  EC_BC.Z_Z     0.00             0     0          0
2009-11-04  EC_BC.Z_Z     0.00             0     0          0
2009-11-05  EC_BC.Z_Z     0.00             0     0          0
2009-11-06  EC_BC.Z_Z     0.00             0     0          0
2009-11-07  EC_BC.Z_Z     0.00             1     0          0

I am trying to calculate moving sums OR averages of width 7 for HeatingDegreeDay, MCnt, MCnt_lag7, MCnt_lag9 in this dataframe. Some characteristics of this data to consider are: irregular time series with missing dates and NA values in the HeatingDegreeDay vector.

Once I have the 7-day moving sums OR averages calculated, I need to calculate correlation coefficients to help me identify which lag (7-day or 9-day) is best to match with the HeatingDegreeDay vector.

Question: Can the moving sum or average calculation be combined with a correlation coefficient calculation in the same code or do they need to be done in steps? If so, how?

Problems: In calculating the moving sums OR averages, I keep running into troubles. First, with rollapply, I cannot pass multiple vectors to rollapply as it seems univariate. Second, with TTR's SMA I get an "incorrect number of dimensions" error. I can't use rollmean because my data has NAs.

I have looked at: R: How to apply moving averages to subset of columns in a data frame? and Conditional rolling mean (moving average) on irregular time series.

I tried:

#Calculate moving average 
Lag0910_79 <- as.numeric(Lag0910_79$HeatingDegreeDay, Lag0910_79$MCnt7, Lag0910_79$MCnt9)
Lagzoo <- as.zoo(Lag0910_79)
Lagzoo_7 <- rollapply(Lagzoo, width=7, mean, na.rm=TRUE)
Lagzoo_7 <- as.data.frame(Lagzoo_7)

with result:

dput(head(Lagzoo_7, 15))

structure(list(Lagzoo_7 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1)), .Names = "Lagzoo_7", row.names = c("4", "5", "6", 
"7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", 
"18"), class = "data.frame")`

and:

Lagzoo.ttr <- SMA(Lag0910_79[, "HeatingDegreeDay"], 7)

Error in Lag0910_79[, "HeatingDegreeDay"] : incorrect number of dimensions`

How can I make this work? Clearly I don't have it right. Thanks for your help!

My data is structured like:

structure(list(Date = structure(c(14549, 14550, 14551, 14552, 
14553, 14554, 14555, 14556, 14557, 14558, 14559, 14560, 14561, 
14562, 14563, 14564, 14565, 14566, 14567, 14568, 14569, 14570, 
14571, 14572, 14573, 14574, 14575, 14576, 14577, 14578, 14579, 
14580, 14581, 14582, 14583, 14584, 14585, 14586, 14587, 14588, 
14589, 14590, 14591, 14592, 14593, 14594, 14595, 14596, 14597, 
14598, 14599, 14600, 14601, 14602, 14603, 14604, 14605, 14606, 
14607, 14608, 14609, 14610, 14611, 14612, 14613, 14614, 14615, 
14616, 14617, 14618, 14619, 14620, 14620, 14620, 14621, 14622, 
14622, 14623, 14624, 14625, 14626, 14627, 14628, 14629, 14629, 
14629, 14629, 14629, 14630, 14631, 14631, 14631, 14632, 14632, 
14632, 14632, 14632, 14632, 14632, 14633, 14633, 14633, 14634, 
14634, 14634, 14634, 14635, 14635, 14635, 14635, 14636, 14636, 
14636, 14636, 14636, 14636, 14637, 14637, 14637, 14638, 14638, 
14638, 14639, 14639, 14640, 14641, 14642, 14643, 14643, 14644, 
14645, 14646, 14647, 14648, 14649, 14650, 14651, 14652, 14653, 
14654, 14655, 14656, 14657, 14658, 14659, 14660, 14661, 14661, 
14662, 14663, 14663, 14664, 14665, 14666, 14667, 14668, 14669, 
14669, 14670, 14671, 14672, 14673, 14674, 14675, 14675, 14676, 
14677, 14678, 14678, 14679, 14680, 14681, 14681, 14681, 14682, 
14682, 14682, 14683, 14684, 14685, 14686, 14687, 14688, 14689, 
14689, 14690, 14691, 14692, 14693, 14694, 14694, 14694, 14695, 
14696, 14697, 14698, 14699, 14700, 14701, 14702, 14703, 14703, 
14703, 14703, 14704, 14704, 14705, 14706), class = "Date"), SiteSub = structure(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), .Label = "EC_BC.Z_Z", class = "factor"), 
    HeatingDegreeDay = structure(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, NA, 1L, 1L, 3L, 4L, 9L, 11L, 
    14L, 15L, 12L, 13L, 17L, 16L, 16L, 16L, 10L, 8L, 8L, 7L, 
    6L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("0.00", 
    "0.02", "0.05", "0.14", "0.32", "0.50", "0.89", "0.96", "0.98", 
    "1.02", "1.04", "1.30", "1.40", "1.49", "1.50", "1.58", "1.86"
    ), class = "factor"), MCnt = structure(c(1L, 1L, 1L, 1L, 
    1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
    2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 
    1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 
    1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
    1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 
    2L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("0", "1"), class = "factor"), 
    MCnt_lag7 = structure(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, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 
    2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 
    2L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 
    2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 
    2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    1L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, NA, NA, NA, 
    NA, NA, NA, NA), .Label = c("0", "1"), class = "factor"), 
    MCnt_lag9 = structure(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, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 
    1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 
    1L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
    1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 
    2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 
    1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA), .Label = c("0", "1"), class = "factor")), .Names = c("Date", 
"SiteSub", "HeatingDegreeDay", "MCnt", "MCnt_lag7", "MCnt_lag9"
), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", 
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", 
"32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", 
"43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", 
"54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", 
"65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", 
"76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", 
"87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", 
"98", "99", "100", "101", "102", "103", "104", "105", "106", 
"107", "108", "109", "110", "111", "112", "113", "114", "115", 
"116", "117", "118", "119", "120", "121", "122", "123", "124", 
"125", "126", "127", "128", "129", "130", "131", "132", "133", 
"134", "135", "136", "137", "138", "139", "140", "141", "142", 
"143", "144", "145", "146", "147", "148", "149", "150", "151", 
"152", "153", "154", "155", "156", "157", "158", "159", "160", 
"161", "162", "163", "164", "165", "166", "167", "168", "169", 
"170", "171", "172", "173", "174", "175", "176", "177", "178", 
"179", "180", "181", "182", "183", "184", "185", "186", "187", 
"188", "189", "190", "191", "192", "193", "194", "195", "196", 
"197", "198", "199", "200", "201", "202", "203", "204", "205", 
"206", "207", "208"), class = "data.frame")
Community
  • 1
  • 1
BgnR
  • 319
  • 1
  • 12
  • Also take a look at http://stackoverflow.com/questions/20134823/r-faster-way-to-calculate-rolling-statistics-over-a-variable-interval, http://stackoverflow.com/questions/7571788/regular-analysis-over-irregular-time-series?lq=1, http://stackoverflow.com/questions/15960352/optimized-rolling-functions-on-irregular-time-series-with-time-based-window?lq=1, http://stackoverflow.com/questions/10465998/sliding-time-intervals-for-time-series-data-in-r – kdauria Apr 09 '14 at 17:16
  • Anyone care to elaborate why this was downvoted? I provided all the criteria to ask a question. I researched this topic for two days and found nothing that worked. – BgnR Apr 09 '14 at 18:30
  • I downvoted because I couldn't understand what your question was. I should have commented why. Recommendations: Can you simplify your example data set to make things easier to understand? Can you provide an example of what you would like your final output to be? – kdauria Apr 09 '14 at 18:43
  • @Kevin, thank you for elaborating. I am trying to calculate a 7-day average for four columns within my dataframe by Date without having to do each column individually. The data I provided is already extremely simplified and I will work on what an output would look like. – BgnR Apr 09 '14 at 18:48

2 Answers2

3

If the data frame shown in the dput output of the question is DF then this converts columns 3:6 to numeric, performs the rollmean calculation producing rmean, a matrix of rolling means. It then uses corNA to produce a vector, rcor, of rolling correlations and puts everything into one data frame, DF3:

library(zoo)

DF2 <- DF
DF2[3:6] <- lapply(DF2[3:6], function(x) as.numeric(as.character(x)))
m <- as.matrix(DF2[3:6])
rmean <- rollapplyr(m, 7, mean, na.rm = TRUE, fill = NA) # mean matrix

corNA <- function(x) {
    x <- na.omit(x[, 1:2])
    if (nrow(x) < 2 || sd(x[,1]) == 0 || sd(x[,2]) == 0) return(NA)
    cor(x[, 1], x[,2])
}

rcor <- rollapplyr(m, 7, corNA, by.column = FALSE, fill = NA) # vector of cors

DF3 <- data.frame(DF2, rmean, rcor) # put it all together

The zoo version is here. Since zoo requires unique dates we aggregate rows with equal dates:

z <- read.zoo(DF2[-2], aggregate = mean) # can omit aggregate=mean if dates are unique

zmean <- rollapplyr(z, 7, mean, na.rm = TRUE, fill = NA) # means
zcor <- rollapplyr(z, 7, corNA, by.column = FALSE, fill = NA) # cors

z2 <- merge(z, zmean, zcor) # omit this if separate objects are ok
G. Grothendieck
  • 254,981
  • 17
  • 203
  • 341
  • thank you for pointing to my error in including information about the independent/dependent variables. I had been working on slopes and linear model stuffs. I included it in here by accident. For clarification, I do just want a moving correlation. – BgnR Apr 09 '14 at 18:04
  • I get the following errors: Warning message: In zoo(rval3, ix) : some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique > zm <- rollapplyr(z, 7, mean, na.rm = TRUE) Error in merge.zoo(c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, : series cannot be merged with non-unique index entries in a series In addition: There were 50 or more warnings (use warnings() to see the first 50) – BgnR Apr 09 '14 at 18:38
  • Sorry, there was some junk at the end of the `cor` line but removing that it runs without any warnings or errors on the dput data.frame provided in the question. I have shown a log of the result at the end. – G. Grothendieck Apr 09 '14 at 18:46
  • there are "NA" values in the HeatingDegreeDay field, which is the third column in the original dataframe. Could this be the reason for the errors? I'm still getting errors with: DF2 <- Lag0910_79 DF2[3:6] <- lapply(DF2[3:6], function(x) as.numeric(as.character(x))) z <- read.zoo(DF2[-2]) zm <- rollapplyr(z, 7, mean, na.rm = TRUE) – BgnR Apr 09 '14 at 18:55
  • Cut it down to a small reproducible example. It does not happen with the data provided in the question. – G. Grothendieck Apr 09 '14 at 19:24
  • I edited my question to include only the entire dataframe. I need the NA values to remain in the dataframe. How can I make your code run with the NA values? – BgnR Apr 10 '14 at 13:39
  • 1
    Not clear what "the NA values to remain" means but I have revised the code so that it runs with the new input shown. The new thing introduced by it was duplicate dates, not supported by zoo so matrices used instead now. – G. Grothendieck Apr 10 '14 at 14:15
  • After looking at your code, I think I understand what it does. I'm new to using R. I've never used a matrix before, only dataframes. If I got rid of the duplicate dates in my data, would the as.matrix still work? Also, I understand that rollapplyr is the same as "align=right." If I wanted to have align=center, do I just remove the "r" so it would be rollapply? – BgnR Apr 10 '14 at 14:43
  • 1
    (1) The code works with or without duplicates. If you did not have duplicates then one could go back to the zoo formulation which would be slightly slicker. (2) Yes, remove `r` if you want centered rolling as that is the default. – G. Grothendieck Apr 10 '14 at 14:53
  • Thank you very much for helping me! I've never understood how to write functions. I think I understand how it works. If I wanted to add some code that also calculates coefficients for cor(x[,1], x[,3] and cor(x[,1], x[,4] where in the function would I put these? I would like the function to calculate cofficients for column 1/column 2; column1/column3; column1/column4. If I wanted to switch back to using zoo formulation, do I change as.matrix to as.zoo? – BgnR Apr 10 '14 at 15:21
  • Omitting the checks `function(x) cor(x[, 1], x[, -1])` calculates the correlation of column 1 with each of the other columns. With that be sure you use `by.column = FALSE` in `rollapply`. – G. Grothendieck Apr 10 '14 at 15:28
  • I'm sorry but I don't know what you mean by "Omitting the checks function(x) cor(x[,1], x[,-1])." – BgnR Apr 10 '14 at 15:34
  • do I delete something from the function? I changed the 2 to a 4 in the na.omit: `x <- na.omit(x[, 1:4])` and it returned three columns of coefficients. – BgnR Apr 10 '14 at 17:02
  • This change to the function didn't give me the coefficients for all data available though. – BgnR Apr 10 '14 at 17:10
  • `function(x) cor(x[,1], x[,-1])` is a replacement for `corNA` except it does not include the checks for NA, sd=0, etc. – G. Grothendieck Apr 10 '14 at 17:44
0

Is this what you wanted for the rolling mean?

# Convert dates to days
aa = as.Date(x$Date)
x$Date = as.numeric(aa - aa[1])

# I think it's easier to get rid of the factors
factor2number = function(x) as.numeric(as.character(x))
x[,3:6] = apply(x[,3:6],2,factor2number)

# A rolling mean function
rollmean_r = function(x,y,width) {
  out = numeric(length(x))
  for( i in seq_along(x) ) {
    window = x >= (x[i]-width) & x <= (x[i]+width)
    out[i] = .Internal(mean( y[window] ))
  }
  return(out)
}

# Calculate the rolling means
x[,3:6] = apply(x[3:6], 2, function(y) rollmean_r(x$Date,y,7) )
x
#    Date   SiteSub HeatingDegreeDay       MCnt MCnt_lag7  MCnt_lag9
# 1     0 EC_BC.Z_Z                0 0.12500000         0         0
# 2     1 EC_BC.Z_Z                0 0.11111111         0         0
# 3     2 EC_BC.Z_Z                0 0.10000000         0         0
# 4     3 EC_BC.Z_Z                0 0.09090909         0         0
# 5     4 EC_BC.Z_Z                0 0.08333333         0         0
# 6     5 EC_BC.Z_Z                0 0.07692308         0         0
# 7     6 EC_BC.Z_Z                0 0.07142857         0         0
# 8     7 EC_BC.Z_Z                0 0.06666667         0         0
# 9     8 EC_BC.Z_Z                0 0.07142857         0         0
# 10    9 EC_BC.Z_Z                0 0.07692308         0         0
# 11   10 EC_BC.Z_Z                0 0.08333333         0         0
# 12   11 EC_BC.Z_Z                0 0.09090909         0         0
# 13   12 EC_BC.Z_Z                0 0.10000000         0         0
# 14   13 EC_BC.Z_Z                0 0.11111111         0         0
# 15   14 EC_BC.Z_Z                0 0.00000000         0         0
kdauria
  • 6,300
  • 4
  • 34
  • 53