Encontramos el arreglo a este inconveniente, o por lo menos eso creemos. Si tienes dudas coméntalo y sin dudarlo te ayudaremos
Solución:
Estos están presentes por defecto como rownames
cuando creas un data.frame
.
R> df = data.frame('a' = rnorm(10), 'b' = runif(10), 'c' = letters[1:10])
R> df
a b c
1 0.3336944 0.39746731 a
2 -0.2334404 0.12242856 b
3 1.4886706 0.07984085 c
4 -1.4853724 0.83163342 d
5 0.7291344 0.10981827 e
6 0.1786753 0.47401690 f
7 -0.9173701 0.73992239 g
8 0.7805941 0.91925413 h
9 0.2469860 0.87979229 i
10 1.2810961 0.53289335 j
y puede acceder a ellos a través de la rownames
dominio.
R> rownames(df)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
si los necesita como números, simplemente coaccione a numérico agregando as.numeric
como en as.numeric(rownames(df))
.
No necesita agregarlos, como si supiera lo que está buscando (diga item df$c == 'i'
puede usar el comando which:
R> which(df$c =='i')
[1] 9
o si no sabes la columna
R> which(df == 'i', arr.ind=T)
row col
[1,] 9 3
puede acceder al elemento usando df[9, 'c']
o df$c[9]
.
Si quisiera agregarlos, podría usar df$rownumber <- as.numeric(rownames(df))
aunque esto puede ser menos robusto que df$rownumber <- 1:nrow(df)
ya que hay casos en los que podría haber asignado a rownames
por lo que ya no serán los números de índice predeterminados (el comando which continuará devolviendo números de índice incluso si asigna a rownames
).
Simplemente:
data$rownumber = 1:nrow(Data)
Esta es probablemente la forma más sencilla:
data$rownumber = 1:dim(data)[1]
Probablemente valga la pena señalar que si desea seleccionar una fila por su índice de fila, puede hacerlo con una notación de paréntesis simple
data[3,]
vs.
data[data$rownumber==3,]
Así que no estoy muy seguro de lo que logra esta nueva columna.
Te invitamos a animar nuestra labor poniendo un comentario o dejando una puntuación te estamos eternamente agradecidos.