rename the months of a ts object in r - r

Hello I have the following data of a time series object
set.seed(2019)
serie <- ts(rpois(72,25), start = c(2012,1), frequency = 12)
serie
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012 28 22 36 21 26 27 24 26 32 26 29 16
2013 24 28 21 29 31 20 18 25 38 34 23 22
2014 37 25 28 31 21 25 28 26 29 25 23 23
2015 24 23 23 21 16 21 33 23 17 21 30 31
2016 20 23 23 27 23 28 27 23 31 36 25 20
2017 22 24 19 24 26 23 23 25 31 26 23 20
I need to change the name of an ts object, in r. By default the months are in English but I would like to put them in Spanish. Any idea how to do it. Next I leave the vector with the names I want to put in the ts object.
nom <- c("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic")

print.ts uses .preformat.ts which hard codes month.abb which is a vector of abbreviated English month names but we can use trace to set month.abb to nom at the top of that function:
trace(.preformat.ts, quote(month.abb <- nom), print = FALSE)
serie
giving:
Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic
2012 28 22 36 21 26 27 24 26 32 26 29 16
2013 24 28 21 29 31 20 18 25 38 34 23 22
2014 37 25 28 31 21 25 28 26 29 25 23 23
2015 24 23 23 21 16 21 33 23 17 21 30 31
2016 20 23 23 27 23 28 27 23 31 36 25 20
2017 22 24 19 24 26 23 23 25 31 26 23 20
To turn it off:
untrace(.preformat.ts)

Related

Prefix selected column names in R

I have a df as follows:
Code LA.Name 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
1 E06000001 Hartlepool 25 20 27 22 15 20 18 17 16 15 16 23 16 28 29 34 40 36 39
2 E06000002 Middlesbrough 46 30 30 36 18 19 19 30 31 31 24 17 37 66 64 76 60 61 48
3 E06000003 Redcar and Cleveland 39 40 24 23 26 42 33 36 31 28 20 27 32 29 45 49 49 39 33
4 E06000004 Stockton-on-Tees 38 46 33 49 26 40 23 23 35 39 35 40 33 49 67 52 36 47 49
5 E06000005 Darlington 23 31 27 21 23 17 19 29 33 19 21 22 22 28 33 39 36 33 34
6 E06000006 Halton 36 21 34 31 27 24 29 20 16 30 20 24 27 33 40 52 37 37 33
>
As you can see, columns 3:21 are named with numerics, I want to prefix the column names with "w". How can I do this without typing out a list of 22 new column names?
If by chance you are within a dplyr pipeline, you can also use
library(dplyr)
library(stringr)
df %>%
rename_at(1:19, ~str_c("w", .))
names(df)[3:21] <- paste0("w", names(df)[3:21])
You can use some regular expression to identify the numbers in the column names and modify them accordingly
names(df) <- gsub("([0-9]{1,})", "w\\1", names(df)
Solution with dplyr but not needing stringr
library(dplyr)
df %>%
rename_at(3:21, ~paste0("w", .))

Cumulative Distinct Numbers and Reset

i want to create a two columns about unique values in a rows. And another when get to 25 distinct values.
Let take a example:
raffle Bola1 Ball2 Ball3 Ball4 Ball5 Ball6 Ball7 Ball8 Ball9 Ball10 Ball11 Ball12 Ball13 Ball14 Ball15
2 23 15 05 04 12 16 20 06 11 19 24 01 09 13 07
3 20 23 12 08 06 01 07 11 14 04 16 10 09 17 24
4 16 05 25 24 23 08 12 02 17 18 01 10 04 19 13
5 15 13 20 02 11 24 09 16 04 23 25 12 08 19 01
6 23 19 01 05 07 21 16 10 15 25 06 02 12 04 17
7 22 04 15 08 16 14 21 23 12 01 25 19 07 10 18
8 19 16 18 09 13 08 05 25 17 10 06 15 01 22 20
9 21 04 17 05 03 13 16 09 20 24 25 19 11 15 10
10 24 19 08 23 06 02 20 11 09 03 04 10 05 12 14
11 24 09 08 19 20 22 06 10 11 16 07 25 23 02 12
12 11 05 25 01 09 08 16 04 07 24 17 02 12 14 10
13 13 06 10 05 08 14 03 11 16 15 09 17 19 07 23
14 14 21 13 19 20 06 09 05 07 23 18 01 15 02 25
15 23 06 21 04 10 24 16 01 15 02 08 19 12 18 25
16 24 17 05 08 07 12 13 02 15 10 19 25 23 21 06
17 13 20 17 01 06 07 02 14 05 09 16 19 03 21 18
18 02 23 10 07 11 14 17 22 15 06 24 08 19 20 18
19 15 17 10 23 11 24 13 14 06 02 08 05 20 16 07
20 04 09 08 24 16 20 03 17 18 19 07 06 23 14 10
21 05 02 01 22 19 08 24 04 25 23 18 20 14 11 16
22 13 15 05 09 07 10 01 03 22 02 25 14 06 04 12
23 10 11 05 19 18 14 06 04 20 01 08 03 12 16 17
24 01 19 21 14 02 23 25 05 20 11 07 10 24 17 03
25 04 23 20 02 05 13 07 09 24 03 01 06 14 22 16
26 19 11 07 16 08 21 05 10 20 13 23 09 17 14 22
27 25 06 22 21 11 24 03 14 12 13 20 08 10 15 18
28 18 21 11 07 09 03 20 16 14 12 13 17 01 19 10
29 13 14 06 01 24 04 08 05 17 22 21 19 20 09 16
30 22 02 01 17 08 04 19 20 11 14 06 21 07 23 03
I have 15 distinct values, in first rows,
I have plus 6 distinct values, in second rows,
I have plus 3 distinct values, in a third rows,
On the seven row, i complete all numbers, 25 distinct values,
I need to memory this information, like this
raffle Ball1 Ball15 unique_balls group
1 16 02 15 1
2 22 19 21 1
...
7 24 10 25 1
8 8 1 15 2
When i get to 25 distinct values, i indicate another group!
I have more than 1 hundread raffle, help me!
If you want to calculate unique values in each row and also carry it forward till the threshold is reached, we can use a for loop
num <- numeric(length = 0L) #Vector to store unique values
threshold <- 25 #Threshold value to reset
df$group <- 1 #Initialise all group values to 1
count <- 1 #Variable to keep the count of unique groups
#For every row in the dataframe
for (i in seq_len(nrow(df))) {
#Get all the unique values from previous rows before threshold was reached
#and append new unique values for this row
num <- unique(c(num, as.integer(df[i, ])))
#If the length of unique values reaches the threshold
if (length(num) >= threshold) {
df$group[i] <- count
#Empty the unique values vector
num <- numeric(length = 0L)
#Increment the group count by 1
count = count + 1
}
else {
#If the threshold is not reached, continue the previous count
df$group[i] <- count
}
}
df$group
# [1] 1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 7

Build the dataframe with conditional vector in R

I have two vectors
a <- c(18,19,19,19,21,21,22,23,24,25,26,27,28,30,31,35,36,37)
b <- c(19,25,31,37)
I need the data frame following format:
a b
18 19
19 19
19 19
19 19
21 25
21 25
22 25
23 25
24 25
25 25
26 31
27 31
28 31
30 31
31 31
35 37
36 37
37 37
Here value 19 in vector b repeat up to the value 19 in vector a.
After that 21(in a) is the greater than 19 ,so the next value of 25(in b) is be repeat until the 25(in a )
in similar way construct the dataframe.
Thank you.
We can get the position index from findInterval, use that to create the times for the rep
i1 <- findInterval(b, a)
data.frame(a, b = rep(b, c(i1[1], diff(i1))))
# a b
#1 18 19
#2 19 19
#3 19 19
#4 19 19
#5 21 25
#6 21 25
#7 22 25
#8 23 25
#9 24 25
#10 25 25
#11 26 31
#12 27 31
#13 28 31
#14 30 31
#15 31 31
#16 35 37
#17 36 37
#18 37 37
Alternatively,
data.frame(a, b = sapply(a, function(x) b[x <= b][1]))
# a b
# 1 18 19
# 2 19 19
# 3 19 19
# 4 19 19
# 5 21 25
# 6 21 25
# 7 22 25
# 8 23 25
# 9 24 25
# 10 25 25
# 11 26 31
# 12 27 31
# 13 28 31
# 14 30 31
# 15 31 31
# 16 35 37
# 17 36 37
# 18 37 37

Rename several columns (variable number)

I have a dataset where the last columns indicate the number of stops extracted from that dataset.
ColA ColB ColC 1 2 3 4 5 6 7 8 9 10 (...)
a g c a q e r e r q g h q (...)
What I want is to select from column 1, until the last column, and add Stop before it, ending up with Stop1, Stop2, etc...
The problem is that those columns can vary. Sometimes I have 10 after 1 other times I have 6.
I've tried with dplyr and data.table but I'm not sure how to automate this.
EDIT: ColA to ColC are fixed and always the same.
If I correctly understood your problem, this is a sufficiently flexible code that should solve your problem. Start considering the following dataset:
set.seed(1)
df <- data.frame(matrix(rpois(130, 20),ncol=13))
names(df) <- c(paste("Col",LETTERS[1:3],sep=""),as.character(1:10))
df
#######
ColA ColB ColC 1 2 3 4 5 6 7 8 9 10
1 17 21 20 13 13 15 29 25 16 15 12 23 17
2 25 17 11 24 23 14 22 23 25 14 18 19 15
3 25 18 22 18 19 30 16 19 23 27 18 19 11
4 21 18 24 25 23 19 19 18 27 23 18 16 18
5 13 21 16 18 21 23 22 18 22 24 22 26 15
6 22 16 17 27 17 20 24 24 14 21 19 17 15
7 23 23 18 22 16 16 20 18 21 27 17 22 14
8 22 22 17 17 26 13 19 25 24 17 15 13 20
9 18 24 21 22 28 26 15 22 23 20 19 15 27
10 26 23 19 16 18 20 17 25 16 20 19 18 19
Now rename columuns as required:
k <- which(names(df)=="1")
names(df)[k:ncol(df)] <- paste("Stop",1:(ncol(df)-k+1),sep="")
df
#############
ColA ColB ColC Stop1 Stop2 Stop3 Stop4 Stop5 Stop6 Stop7 Stop8 Stop9 Stop10
1 17 21 20 13 13 15 29 25 16 15 12 23 17
2 25 17 11 24 23 14 22 23 25 14 18 19 15
3 25 18 22 18 19 30 16 19 23 27 18 19 11
4 21 18 24 25 23 19 19 18 27 23 18 16 18
5 13 21 16 18 21 23 22 18 22 24 22 26 15
6 22 16 17 27 17 20 24 24 14 21 19 17 15
7 23 23 18 22 16 16 20 18 21 27 17 22 14
8 22 22 17 17 26 13 19 25 24 17 15 13 20
9 18 24 21 22 28 26 15 22 23 20 19 15 27
10 26 23 19 16 18 20 17 25 16 20 19 18 19
I hope it can help you.

How to assign values to the i-th index of a list using a loop?

I have integer values which are called player.i.team.j.coach.k where i ranges over the values 1-11, j ranges over the values 1-30 and k ranges over the values 1-10.
I'm trying to store the 11 players of each team j and coach k in a list (each coach will be assigned to 30 teams), for example
team.j.coach.k <- c(player.1.team.j.coach.k, player.2.team.j.coach.k,
player.3.team.j.coach.k, player.4.team.j.coach.k,
player.5.team.j.coach.k, player.6.team.j.coach.k,
player.7.team.j.coach.k, player.8.team.j.coach.k,
player.9.team.j.coach.k, player.10.team.j.coach.k,
player.11.team.j.coach.k)
And I'm trying to use loops for this. The problem is that my code is not working:
First I define empty lists where I will store my teams:
for (j in 1:30) {
for (k in 1:10) {
assign(paste0("team.",j,".coach.",k),c())
}
}
So for example
> team.1.coach.1
NULL
But now the following code throws an error
for (i in 1:11) {
for (j in 1:30) {
for (k in 1:10) {
assign(get(paste0("team.", j, ".coach.", k))[i],
get(paste0("player.",i,".team.",j,".coach.",k)))
}
}
}
and the error is "invalid first argument". Alternatively, the following code throws an error as well
for (i in 1:11) {
for (j in 1:30) {
for (k in 1:10) {
get(paste0("team.", j, ".coach.", k))[i] <- get(paste0("player.", i, ".team.", j, ".coach.", k))
}
}
}
Where the error is "target of assignment expands to non-language object".
Note: I created the objects player.i.team.j.coach.k using assign() and a loop, that's why they are stored in a list yet.
x = c(3,5,6)
x[2] = 9
x # [1] 3 9 6
Did this help? (Re- assign a value to the i-th index of the list without assign and using a loop)
OK, after struggling so much and watching my reputation going down the toilet due to several downvotes, I managed to solve my problem. I used a variable count inside my loop to store everything as a single list, and then splitting my list into my desired lists:
my.list<-c()
count=0
for (c in 1:10){for (b in 1:30){for (a in 1:11){assign(paste0("player.",a,".team.",b,".coach.",c),a+b+c);count=count+1;my.list[count]<-get(paste0("player.",a,".team.",b,".coach.",c))}}}
And now I split my.list to get the lists that I want:
for (c in 1:10){for (b in 1:30){assign(paste0("team.",b,".coach.",c),my.list[(11*(b+30*(c-1))-10):(11*(b+30*(c-1)))])}}
And I get exactly what I want:
> for (b in 1:30){for (c in 1:10){print(get(paste0("team.",b,".coach.",c)))}}
[1] 3 4 5 6 7 8 9 10 11 12 13
[1] 4 5 6 7 8 9 10 11 12 13 14
[1] 5 6 7 8 9 10 11 12 13 14 15
[1] 6 7 8 9 10 11 12 13 14 15 16
[1] 7 8 9 10 11 12 13 14 15 16 17
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 4 5 6 7 8 9 10 11 12 13 14
[1] 5 6 7 8 9 10 11 12 13 14 15
[1] 6 7 8 9 10 11 12 13 14 15 16
[1] 7 8 9 10 11 12 13 14 15 16 17
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 5 6 7 8 9 10 11 12 13 14 15
[1] 6 7 8 9 10 11 12 13 14 15 16
[1] 7 8 9 10 11 12 13 14 15 16 17
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 6 7 8 9 10 11 12 13 14 15 16
[1] 7 8 9 10 11 12 13 14 15 16 17
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 7 8 9 10 11 12 13 14 15 16 17
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 8 9 10 11 12 13 14 15 16 17 18
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 9 10 11 12 13 14 15 16 17 18 19
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 10 11 12 13 14 15 16 17 18 19 20
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 11 12 13 14 15 16 17 18 19 20 21
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 12 13 14 15 16 17 18 19 20 21 22
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 13 14 15 16 17 18 19 20 21 22 23
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 14 15 16 17 18 19 20 21 22 23 24
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 15 16 17 18 19 20 21 22 23 24 25
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 16 17 18 19 20 21 22 23 24 25 26
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 17 18 19 20 21 22 23 24 25 26 27
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 18 19 20 21 22 23 24 25 26 27 28
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 19 20 21 22 23 24 25 26 27 28 29
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 20 21 22 23 24 25 26 27 28 29 30
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 21 22 23 24 25 26 27 28 29 30 31
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 22 23 24 25 26 27 28 29 30 31 32
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 23 24 25 26 27 28 29 30 31 32 33
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 24 25 26 27 28 29 30 31 32 33 34
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 25 26 27 28 29 30 31 32 33 34 35
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 26 27 28 29 30 31 32 33 34 35 36
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 27 28 29 30 31 32 33 34 35 36 37
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 28 29 30 31 32 33 34 35 36 37 38
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 37 38 39 40 41 42 43 44 45 46 47
[1] 29 30 31 32 33 34 35 36 37 38 39
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 37 38 39 40 41 42 43 44 45 46 47
[1] 38 39 40 41 42 43 44 45 46 47 48
[1] 30 31 32 33 34 35 36 37 38 39 40
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 37 38 39 40 41 42 43 44 45 46 47
[1] 38 39 40 41 42 43 44 45 46 47 48
[1] 39 40 41 42 43 44 45 46 47 48 49
[1] 31 32 33 34 35 36 37 38 39 40 41
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 37 38 39 40 41 42 43 44 45 46 47
[1] 38 39 40 41 42 43 44 45 46 47 48
[1] 39 40 41 42 43 44 45 46 47 48 49
[1] 40 41 42 43 44 45 46 47 48 49 50
[1] 32 33 34 35 36 37 38 39 40 41 42
[1] 33 34 35 36 37 38 39 40 41 42 43
[1] 34 35 36 37 38 39 40 41 42 43 44
[1] 35 36 37 38 39 40 41 42 43 44 45
[1] 36 37 38 39 40 41 42 43 44 45 46
[1] 37 38 39 40 41 42 43 44 45 46 47
[1] 38 39 40 41 42 43 44 45 46 47 48
[1] 39 40 41 42 43 44 45 46 47 48 49
[1] 40 41 42 43 44 45 46 47 48 49 50
[1] 41 42 43 44 45 46 47 48 49 50 51

Resources