So reparieren sie in r: nicht numerisches argument des binären operators
Ein Fehler, der in R auftreten kann, ist:
Error in df$var1- df$var2: non-numeric argument to binary operator
Dieser Fehler tritt auf, wenn Sie versuchen, eine binäre Operation an zwei Vektoren durchzuführen und einer der Vektoren nicht numerisch ist.
Hier sind Beispiele für binäre Operationen:
- Subtraktion ( – )
- Zusatz ( + )
- Multiplikationen ( * )
- Abteilung ( / )
Dieser Fehler tritt am häufigsten auf, wenn einer der von Ihnen bereitgestellten Vektoren ein Zeichenvektor ist.
In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.
So reproduzieren Sie den Fehler
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame
df <- data. frame (period = c(1, 2, 3, 4, 5, 6, 7, 8),
sales = c(14, 13, 10, 11, 19, 9, 8, 7),
returns = c('1', '0', '2', '1', '1', '2', '2', '3'))
#view data frame
df
period sales returns
1 1 14 1
2 2 13 0
3 3 10 2
4 4 11 1
5 5 19 1
6 6 9 2
7 7 8 2
8 8 7 3
Nehmen wir nun an, wir versuchen, eine neue Spalte mit dem Namen „Netto“ zu erstellen, indem wir die Spalte „Retouren“ von der Spalte „Umsätze“ subtrahieren:
#attempt to create new column called 'net'
df$net <- df$sales - df$returns
Error in df$sales * df$returns: non-numeric argument to binary operator
Es tritt ein Fehler auf, weil die Spalte „returns“ zur Klasse „character“ gehört und es nicht möglich ist, eine Zeichenspalte von einer numerischen Spalte zu subtrahieren.
#display class of 'sales' column
class(df$sales)
[1] "digital"
#display class of 'returns' column
class(df$returns)
[1] “character”
So beheben Sie den Fehler
Die Möglichkeit, diesen Fehler zu beheben, besteht darin, mit as.numeric() die Spalte „returns“ in eine numerische Spalte umzuwandeln, bevor die Subtraktion durchgeführt wird:
#create new column called 'net'
df$net <- df$sales - as. numeric (df$returns)
#view updated data frame
df
period sales returns net
1 1 14 1 13
2 2 13 0 13
3 3 10 2 8
4 4 11 1 10
5 5 19 1 18
6 6 9 2 7
7 7 8 2 6
8 8 7 3 4
Da die Spalten „Verkäufe“ und „Retouren“ numerisch waren, konnten wir die Subtraktion fehlerfrei durchführen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:
So beheben Sie das Problem in R: dim(X) muss eine positive Länge haben
So beheben Sie das Problem in R: Namen stimmen nicht mit vorherigen Namen überein
So beheben Sie das Problem in R: Die Länge eines längeren Objekts ist kein Vielfaches der Länge eines kürzeren Objekts
So korrigieren Sie in R: Kontraste können nur auf Faktoren mit 2 oder mehr Ebenen angewendet werden