2016-06-13 12 views
1

Ich habe einen Vektor, Beispiel x=c(0,0,0,1,1,2,3,4,5,6). Ich möchte alle Nullen, alle Einsen und als nächstes alle Zahlen durch 2 teilbar machen. Die Ausgabe würde so aussehen: 0 0 0 1 1 2 4 6 Ich weiß nicht, wie Nullen und Einsen zu schreiben, denn als nächstes verwende ich (which (x %% 2==0)). Kann jemand helfen?Schreibe alle Nullen aus Vektor in R

Antwort

3

Wir können mit %% versuchen und |

x[x%%2==0 | x==1] 
#[1] 0 0 0 1 1 2 4 6 
+2

'verwenden! X %% s' unglaublich kryptisch. Es funktioniert, wenn Sie '%%' lesen als "ist teilbar durch", aber da es normalerweise als "Rest der Division von" oder "Mod" gelesen wird, würde ich den Ausdruck empfehlen, expliziter zu sein: 'x %% 2 == 0'. Oder in diesem Fall "x %% 2! = 0". –

+0

Was ist, wenn ich nur solche mit Vektor schreiben möchte? – Robert

+0

@Robert Benötigen Sie nur '1 1' als Ausgabe. In diesem Fall "x [x == 1]" – akrun