2011-10-18 13 views
9

he vuelto estadísticas sobre mis datos utilizando el comando tabla como tales:Cómo convertir nombres de las filas de la tabla en un vector

subject<-c(4,4,2,2,3,3) 
correct<-c(0,1,1,1,0,0) 
test<-data.frame(subject,correct) 
freq_test<-head(table(test$subject,test$correct)) 

Esto devuelve una tabla que se parece a esto

0 1 

    2 0 2 

    3 2 0 

    4 1 1 

Eso es genial, pero el problema es que me gustaría que la primera columna sea un vector en lugar de row.names (para poder codificarlo correctamente como "asunto"). ¿Hay alguna manera de hacer que esta columna actúe de esta manera?

Respuesta

11

Simplemente haga una nueva trama de datos con los nombres de las filas de freq_test como la primera columna:

> df<-data.frame(as.numeric(rownames(freq_test)),freq_test) 
> colnames(df)[1]="subject" 
> df 
    subject X0 X1 
2  2 0 2 
3  3 2 0 
4  4 1 1 
> 

Por supuesto, puede cambiar el nombre y X0X1 a lo que usted quiere editando colnames(df) que el anterior.

+0

gracias! sabía que tenía que ser algo simple – FGiorlando

+0

De nada. Si la respuesta lo ayudó, considere aceptarlo (haciendo clic en la marca de verificación debajo de los totales de votos a favor/en contra para mi respuesta). –

1

Si desea que los datos en formato "largo" (útil para algunos modelos y el trazado, y especialmente cuando las tablas son más complicados), el método de la tabla de la función genérica as.data.frame se hará cargo de esto para usted:

> as.data.frame(table(test)) 
    subject correct Freq 
1  2  0 0 
2  3  0 2 
3  4  0 1 
4  2  1 2 
5  3  1 0 
6  4  1 1 
+0

útil, pero no exactamente lo que necesito ya que los datos resumidos fueron el punto de obtener la tabla(). – FGiorlando

0

creo que debería haber utilizado el método estándar de construcción de un hoja.de.datos, que es con el nombre = valores pares:

test <- data.frame(subject=subject, correct=correct) 

la primera subject será interpretado como un nombre para ser citado y el segundo subject be interpreted .... es decir, se buscará en los entornos adjuntos un objeto llamado subject y su valor se asignará a la columna "subject" de "prueba".

+0

Sin embargo, no creo que esto ayude cuando se utiliza la cabecera (tabla (prueba)) ya que es cuando se crean los nombres de filas. – FGiorlando

Cuestiones relacionadas