Wie zu identifizieren und zu korrigieren Dropped Maße in R

Jede Funktion in R erwartet Ihre Daten in einem bestimmten Format zu sein. Das bedeutet nicht nur, ob es eine ganze Zahl, Charakter oder Faktor, sondern auch, ob Sie liefern einen Vektor, eine Matrix, einen Datenrahmen oder eine Liste. Viele Funktionen können mit verschiedenen Formaten umgehen, aber manchmal ist das Ergebnis nicht, was man überhaupt erwarten.

Zum Beispiel versucht R automatisch die Anzahl der Dimensionen zu reduzieren, wenn eine Matrix, ein Array oder Datenrahmen subsetting. Wenn Sie die Zeile Summen der numerischen Variablen in einem Datenrahmen berechnet werden soll - zum Beispiel die integrierte Datenrahmen Schlaf - können Sie ein wenig Funktion wie folgt schreiben:

rowsum.df lt; - Funktion (x) {

Ich würde lt; - sapply (x, is.numeric)

rowSums (x [, id])

}

Wenn Sie das versuchen, auf zwei integrierte Datenrahmen, Druck und Schlaf, erhalten Sie ein Ergebnis für die erste, aber die folgende Fehlermeldung für die zweite:

> Rowsum.df (Schlaf)

Fehler in rowSums (x [, id]):

'X' muss ein Array von mindestens zwei Dimensionen

Weil Schlaf nur eine einzige numerische Variable enthält, x [id] liefert einen Vektor anstelle eines Datenrahmens, und das bewirkt, dass der Fehler in rowSums ().

Sie können dieses Problem lösen, entweder durch Tropfen Zugabe = FALSE oder durch die Liste subsetting Methode x [i] statt.

Menü