So beheben sie: fehler in fun(newx[, i], …): argumenttyp ' (zeichen)
Ein Fehler, der in R auftreten kann, ist:
Error in sum(x): invalid 'type' (character) of argument
Dieser Fehler tritt auf, wenn Sie versuchen, eine mathematische Operation (z. B. Summe, Durchschnitt, Zahl usw.) an einem Zeichenvektor durchzuführen.
In diesem Tutorial wird erläutert, wie Sie diesen Fehler in der Praxis beheben können.
So reproduzieren Sie den Fehler
Angenommen, wir erstellen den folgenden Datenrahmen in R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
points=c(10, 12, 15, 20, 26, 25),
rebounds=c(7, 8, 8, 14, 10, 12))
#view data frame
df
team points rebounds
1 to 10 7
2 to 12 8
3 to 15 8
4 B 20 14
5 B 26 10
6 B 25 12
Nehmen wir nun an, wir versuchen, die Summe der Spalte „Team“ zu berechnen:
#attempt to calculate sum of values in 'team' column
sum(df$team)
Error in sum(df$team): invalid 'type' (character) of argument
Wir erhalten eine Fehlermeldung, da die Spalte „Team“ eine Charakterspalte ist.
Wir können dies mit der Funktion class() bestätigen:
#view class of 'team' column
class(df$team)
[1] “character”
So beheben Sie den Fehler
Die Möglichkeit, diesen Fehler zu umgehen, besteht darin, nur mathematische Operationen mit numerischen Vektoren zu verwenden.
Beispielsweise könnten wir die Funktion sum() verwenden, um die Summe der Werte in der Spalte „Punkte“ zu berechnen:
#calculate sum of values in 'points' column
sum(df$points)
[1] 108
Wir könnten auch die Summe der Punktwerte, gruppiert nach Team, berechnen:
#calculate sum of points, grouped by team
aggregate(points ~ team, df, sum)
team points
1 to 37
2 B 71
Wir könnten sogar die Summe der Punkte- und Rebound-Werte berechnen, gruppiert nach Team:
#calculate sum of points and sum of rebounds, grouped by team
aggregate(.~team, df, sum)
team points rebounds
1 A 37 23
2 B 71 36
Beachten Sie, dass wir bei keiner dieser Operationen eine Fehlermeldung erhalten, da wir nur versuchen, die Summe der numerischen Variablen zu berechnen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:
Lösung: Die Bedingung hat eine Länge > 1 und nur das erste Element wird verwendet
Problembehebung: Nicht numerisches Argument des binären Operators
Lösung: dim(X) muss eine positive Länge haben
So beheben Sie: Fehler bei der Auswahl nicht verwendeter Argumente