2016-06-20 22 views
0

Das muss sehr einfach sein, aber ich kann es nirgendwo finden. Ich versuche, eine neue Spalte (Feld) in R zu erstellen, die nach zwei anderen Spalten sucht - Füllen von Leerzeichen einer Spalte mit den Werten einer anderen, z. unten:Wenn Spalte 1 = Leer, dann Spalte 2 in R

name age1 age2 age 
Bob  45  45  45 
Clint   33  33 
Dave 48  15  48 

Wie Sie oben sehen können, wenn age2! = age1, dann sollte age1 der Standardwert sein.

Danke für Ihre Hilfe!

Antwort

1

können wir ifelse

with(df1, ifelse(age1=="", age2, as.character(age1))) 
+0

Vielleicht verwende ich etwas falsch mache. Ich hatte das aus irgendeinem Grund versucht, die Werte, die ich erhalte, wenn es in Alter1 eine leere Stelle gibt, entspricht nicht den Werten in Alter2. Irgendwelche Ideen, warum das sein könnte? Meine akutalen Daten haben Strings in jeder Spalte, aber aus irgendeinem Grund gibt die ifelse-Anweisung Zahlen zurück. – stevenjoe

+0

@stevenjoe Es könnte sein, weil Ihre Spalte "Faktor" ist. wrap es mit 'as.character' und es funktioniert. – akrun

+1

Perfekt. Genius! Vielen Dank. Endgültiges Skript: with (df1, ifelse (age1 == "", as.Zeichen (age2), age1)) – stevenjoe

Verwandte Themen