Video: Ludacris - You's A Hoe 2024
Elke functie in R verwacht dat uw gegevens een specifiek formaat hebben. Dat betekent niet simpelweg of het een geheel getal, teken of factor is, maar ook of u een vector, een matrix, een dataframe of een lijst aanlevert. Veel functies kunnen met meerdere indelingen werken, maar soms is het resultaat niet wat u verwacht.
R probeert bijvoorbeeld automatisch het aantal dimensies te verminderen bij het subsetten van een matrix, matrix of gegevensframe. Als u de rijsommen van de numerieke variabelen in een dataframe wilt berekenen - bijvoorbeeld de ingebouwde dataframeslaap - kunt u een kleine functie als deze schrijven:
rowsum. df <- function (x) {
id <- sapply (x, is. numeriek)
rowSums (x [id])
}
Als u dat uitprobeert op twee ingebouwde dataframes, druk en slaap, u krijgt een resultaat voor de eerste, maar de volgende foutmelding voor de tweede: >> rijen. df (slaap)
Fout in rowSums (x [id]):
'x' moet een array van ten minste twee dimensies zijn
Omdat de slaap slechts één numerieke variabele bevat, x [id] retourneert een vector in plaats van een gegevensframe en dat veroorzaakt de fout in rowSums ().