Recebi um conjunto de dados em que os nomes das colunas são números, como este:
df<- data.frame(firstvar = c(1:5),
secondvar = c(15:19))
colnames (df) <- c(1000, 1500)
df
1000 1500
1 1 15
2 2 16
3 3 17
4 4 18
5 5 19
Eu sei que preciso usar aspas para chamar cada coluna:
df$`1000`
[1] 1 2 3 4 5
Gostaria de usar o objeto N
(que será um argumento em uma função no meu programa real) e atribuí-lo ao nome da coluna (numérica) para que eu pudesse usá-lo em vez de digitar manualmente '1000'. No entanto, não consigo fazer funcionar, pois recebo NULL como saída.
O que eu tentei (sempre obtive NULL como resultado):
N <- 1000
df$`N`
df$N
df$'N'
Como eu gostaria que funcionasse:
N <- 1000
df$`N`
[1] 1 2 3 4 5
Isso é possível?
Altere
N
para caractere e use[[
para extrair os valores da coluna.Isso funciona porque, embora fosse um número quando você o nomeou, o nome muda implicitamente para um caractere depois disso.
Usando match :