2016-08-06 15 views
-1

neu zuzuweisen. Angenommen, ein Datenrahmen df und Spalte foo ist float. Ich möchte foo zu 1 zuweisen, wenn der Wert foo mehr als eins ist. Fragen Sie sich, ob es eine effiziente Möglichkeit gibt, in R zu implementieren? Wenn es eine Ein-Zeilen-Implementierung gibt, wird es großartig sein, ähnlich dem Lambda-Ausdruck in Python. Vielen Dank.intelligentere Möglichkeit, Werte für eine Spalte im Datenrahmen in R

Antwort

2

Versuchen:

df$foo[df$foo > 1] <- 1 
+0

So intelligenter Lösung, dank user2280549, abstimmen und Ihre Antwort als Antwort markiert. –

3

Ein effizienter Ansatz wäre anstelle zuweisen mit data.table

library(data.table) 
setDT(df)[foo > 1, foo := 1] 
+1

Dank akrun, stimmen auf. –

+1

@LinMa Vielen Dank für die Anerkennung der Lösung. – akrun

+2

Danke und stimmen, ich habe zwei R Bücher und suchte auch Lösung, keiner von ihnen sind so elegant wie das, was ich von hier finden kann. :) –

Verwandte Themen