So ändern Sie bestimmte Werte in einem Datenrahmen
achihansi
Könnte jemand erklären, wie man die negativen Werte im folgenden Datenrahmen ändert?
wir wurden gebeten, eine Datenstruktur zu erstellen, um die folgende Ausgabe zu erhalten.
# > df
# x y z
# 1 a -2 3
# 2 b 0 4
# 3 c 2 -5
# 4 d 4 6
Mein Code dafür ist:
df <- data.frame(x = letters[1:4], y = c(-2,0,2,4), z = c(3,4,-5,6))
Dann müssen wir Kontrollflussoperatoren und/oder Vektorisierung verwenden, um nur die negativen Werte mit 10 zu multiplizieren.
Ich habe so viele verschiedene Möglichkeiten ausprobiert, aber das kann nicht funktionieren. Ich bekomme eine Fehlermeldung, wenn ich versuche, eine Schleife zu verwenden und wegen der Buchstaben.
Sotos
Erstellen Sie Indizes der negativen Werte und multiplizieren Sie mit 10, dh
i1 <- which(df < 0, arr.ind = TRUE)
df[i1] <- as.numeric(df[i1]) * 10
# x y z
#1 a -20 3
#2 b 0 4
#3 c 2 -50
#4 d 4 6