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.