web-dev-qa-db-fra.com

Renommer les éléments de la liste

J'ai la liste suivante 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))  
    }

qui renvoie:

$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

Comment renommer ses éléments en 2014, 2015, 2016?

9
Iván Rodas Padilla

Notez que vous avez un list. Par conséquent, vous n'avez pas colnames mais names. Vous pouvez les éditer comme ceci:

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

Pour modifier uniquement certaines entrées de la liste, spécifiez un index:

names(l)[1] <- "new_name"

l

# $`new_name`
# [1] 123123  12123 123123
# 
# $`2015`
# [1] 123123  12123 123123

Si vous souhaitez en savoir plus sur les différents types de données dans R, je peux recommander Résumé de Hadley Wickham .

26
loki