En R, ¿por qué seleccionar filas de un marco de datos devuelve datos como un vector si el marco de datos tiene solo una columna?
Supongamos que queremos acceder a los datos de un marco de datos por fila. Los ejemplos se simplifican, pero al ordenar un marco de datos por nombres de fila, por ejemplo, df[order(row.names(df)]
) utilizamos la misma técnica.
Si el marco de datos tiene una columna, recuperamos un vector atómico:
> df
x1
a x
b y
c z
> df[1, ] # returns atomic vector
[1] x
Si el marco de datos tiene dos columnas, recuperamos un marco de datos de 1 fila que incluye el nombre de la fila:
> df
x1 x2
a x u
b y v
c z w
> df[1, ] # returns data frame
X1 X2
a x u
No entiendo por qué la misma operación en el marco de datos produce dos tipos de resultados dependiendo de cuántas columnas tenga el marco.