2016-12-03 2 views
0

Ich versuche, eine Spalte hinzufügen, die als TRUE markiert, wenn die Spalte "Markt" enthält "Belgien" oder "Argentinien ".R: Hinzufügen Spalte mit Bedingung Wert ist in Vektor (% in% oder is.element in Spalte)

id year quarter market new_col_1 find_belgium_argentina<br> 
1 2002  Q1 Belgium   1     FALSE<br> 
2 2002  Q1 Belgium   1     FALSE<br> 
3 2002  Q1 Belgium   1     FALSE<br> 
4 2002  Q1 Belgium   1     FALSE<br> 
5 2002  Q1 Belgium   1     FALSE<br> 
6 2002  Q1 Belgium   1     FALSE<br> 

Ich kann so den Trick mit einem einzelnen String tun >>>

d2["find_belgium_argentina"] = d2['market'] == "Belgium" 

Aber ... wenn ich diese Ausdrücke versuchen sie nicht zu funktionieren scheint >>>

d2["find_belgium_argentina"] = d2["market"] %in% c("Belgium", "Argentina") 

d2["find_belgium_argentina"] = is.element(d2["market"], c("Belgium", "Argentina")) 

Jede Hilfe wäre toll, ich bin mir sicher, es muss eine einfache Möglichkeit sein, es zu tun, ich konnte es einfach nicht herausfinden, nachdem ich mehrere Beiträge gelesen habe, danke!

+0

Hallo, ich meine, was falsch war, war ich mit Pandas Syntax, sollte ich verwendet habe >>> d2 [ "find_belgium_argentina"] = d2 ** $ Markt **% in% c ("Belgien", " Argentinien ") Ich werde versuchen, die Frage zu löschen, sorry über die Unannehmlichkeiten, danke! – Sherm4n

+0

'd [" foo "]' gibt einen Datenrahmen mit einer Spalte zurück. 'd $ foo' gibt einen Vektor dieser Spalte zurück. Sie können auch doppelte eckige Klammern 'd [[" foo "]]' 'verwenden, die auch den Vektor zurückgeben, identisch mit' d $ foo'. Dies ist nützlich, wenn Sie eine Spalte nach einer anderen Indirektionsstufe erhalten möchten, zB: 'z =" foo "; d [[z]]' bekommt 'd [[" foo "]]' '. Schwer mit Dollar-Notation zu tun. – Spacedman

Antwort

0

Ich stelle dar, was falsch war, war ich mit Pandas Syntax, ich sollte verwendet haben >>> d2 [ "find_belgium_argentina"] = d2 $ Markt% in% c ("Belgien", "Argentina") I‘ Ich werde versuchen, die Frage zu löschen, sorry über die Unannehmlichkeiten, danke!

Verwandte Themen