I have the following list listaValores
listaValores <- c()
for(valores in 1:numRepeticion){
listaValores <- c(listaValores, readWorksheetFromFile(file = file.read,
sheet = sheet.read,
startRow = startRow.read+(12*(valores-1)),
startCol = startCol.read[i],
endRow = startRow.read+((12*valores)-1) ,
endCol = startCol.read[i], header = FALSE))
}
which returns:
$Col1
[1] 32824 35646 34650 29328 27376 28548 35363 34740 49181 57960 55550 50626
$Col1
[1] 52610 55085 58576 51300 50968 58104 56585 38273 54216 59043 67487 58067
$Col1
[1] 59142 68593 77510 73434 83545 83483 79635 69269 85703 73080
How to renames it's elements to 2014
, 2015
, 2016
?
The list can be created using list() function in R. Named list is also created with the same function by specifying the names of the elements to access them. Named list can also be created using names() function to specify the names of elements after defining the list.
To rename a file in R, use the file. rename() function. The file. rename() method will rename files, and it can take a vector of both from and to names.
Note that you have a list
. Therefore, you do not have colnames
but names
. You can edit them like this:
l <- list(col1 = c(123123, 12123, 123123), col1 = c(123123, 12123, 123123))
l
# $col1
# [1] 123123 12123 123123
#
# $col1
# [1] 123123 12123 123123
names(l)
# [1] "col1" "col1"
names(l) <- c("2014", "2015")
l
# $`2014`
# [1] 123123 12123 123123
#
# $`2015`
# [1] 123123 12123 123123
To only edit certain entries in the list, specify an index:
names(l)[1] <- "new_name"
l
# $`new_name`
# [1] 123123 12123 123123
#
# $`2015`
# [1] 123123 12123 123123
If you'd like to know more about the different data types in R, I can recommend Hadley Wickham's summary.
If you want to use the list name instead of the index, this works.
#Reproduce example list
mylist <- list(Col1 = c(32824, 35646, 34650, 29328, 27376, 28548, 35363, 34740, 49181, 57960, 55550, 50626), Col1 = c(52610, 55085, 58576, 51300, 50968, 58104, 56585, 38273, 54216, 59043, 67487, 58067), Col1 = c(59142, 68593, 77510, 73434, 83545, 83483, 79635, 69269, 85703, 73080))
mylist
$Col1
[1] 32824 35646 34650 29328 27376 28548 35363 34740 49181 57960 55550 50626
$Col1
[1] 52610 55085 58576 51300 50968 58104 56585 38273 54216 59043 67487 58067
$Col1
[1] 59142 68593 77510 73434 83545 83483 79635 69269 85703 73080
#Change names in mylist from Col1 to 2014, 2015, 2016
names(mylist) <- c("2014", "2015", "2016")
mylist
$`2014`
[1] 32824 35646 34650 29328 27376 28548 35363 34740 49181 57960 55550 50626
$`2015`
[1] 52610 55085 58576 51300 50968 58104 56585 38273 54216 59043 67487 58067
$`2016`
[1] 59142 68593 77510 73434 83545 83483 79635 69269 85703 73080
You can also change names in mylist from list name Col1 all to the same new.name.
names(mylist)[names(mylist) == "Col1"] <- "new.name"
mylist
$new.name
[1] 32824 35646 34650 29328 27376 28548 35363 34740 49181 57960 55550 50626
$new.name
[1] 52610 55085 58576 51300 50968 58104 56585 38273 54216 59043 67487 58067
$new.name
[1] 59142 68593 77510 73434 83545 83483 79635 69269 85703 73080
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With