Cómo identificar y corregir dimensiones caído en r

Cada función en I espera que sus datos estén en un formato específico. Eso no quiere decir simplemente si se trata de un número entero, carácter, o factor, sino también si usted proporciona un vector, una matriz, una trama de datos, o una lista. Muchas funciones pueden hacer frente a múltiples formatos, pero a veces el resultado no es lo que usted espera en absoluto.

Por ejemplo, R automáticamente intenta reducir el número de dimensiones cuando subconjuntos de una matriz, matriz o trama de datos. Si desea calcular las sumas de filas de las variables numéricas en un marco de datos - por ejemplo, la incorporada en el marco del sueño datos - usted puede escribir una pequeña función como esta:

rowsum.df lt; - la función (x) {

Identificación lt; - sapply (x, is.numeric)

rowSums (x [, id])

}

Si intenta que fuera en dos armarios tramas de datos, la presión y el sueño, se obtiene un resultado para el primero, pero el mensaje de error para el segundo:

> Rowsum.df (sueño)

Error en rowSums (x [, id]):

'x' debe ser una matriz de al menos dos dimensiones

Porque el sueño contiene una única variable numérica, x [, id] devuelve un vector en lugar de una trama de datos, y que hace que el error en rowSums ().

Puede resolver este problema, ya sea mediante la adición gota = FALSO o utilizando el método de la lista de subconjuntos x [i] en lugar.


» » » » Cómo identificar y corregir dimensiones caído en r