2017-03-09 1 views
0

Hier ein Auszug meines Datenrahmen:R: Aktualisieren von Werten in einem Datenrahmen Spalte

x   y  se 
    4   a  7.146329 
15   a  8.458633 
17   a  9.286849 
11   b  6.700024 
    8   b  4.697962 
12   c  7.884244 
10   c  7.834816 
17   c  7.762385 
12   d  5.910785 
15   d  12.98158 

Ich brauche die erste Spalte zu aktualisieren, so dass jede Zahl um 1, aber nur für Bedingungen einer abgezogen werden und B. Das heißt, anstelle von c(4, 15, 17, 11, 8, 12, 10, 17, 12, 15) würde ich c(3, 14, 16, 10, 7, 12, 10, 17, 12, 15) bekommen.

Ich habe verschiedene Methoden ausprobiert und nichts hat funktioniert, sicherlich fehlt etwas unglaublich einfach hier!

+2

'df [df $ y% in% c ("a", "b"), "x"] <- df [df $ y% in% c (“ a "," b ")," x "] - 1' – HubertL

+0

perfekt, danke! –

Antwort

0

Konnte ifelse hier verwenden. Unter der Annahme, Datenrahmen df1 genannt:

df1$x <- ifelse(df1$y %in% c("a", "b"), df1$x - 1, df1$x) 
Verwandte Themen