2017-03-15 1 views
0

Ich habe eine andere Frage darüber gelesen, wie Zeilen eines Datenrahmens nach dem Zufallsprinzip gruppiert werden, aber ich habe Probleme herauszufinden, wie man die Werte einer bestimmten Spalte im Datenrahmen für eine zufällige Teilmenge der Zeilen ändert.In R, wie ändere ich die Werte für eine bestimmte Spalte in einer zufälligen Reihe von Zeilen?

von Sample random rows in dataframe:

df = data.frame(matrix(rnorm(20), nrow=10)) 
df[sample(nrow(df), 3), ] 

Wie ersetze ich zufällig ausgewählte Zeilen der X1 Spalte mit 0'en, zum Beispiel?

Danke!

Antwort

2

Sie müssen nur die Spalte auswählen, bevor Sie den neuen Wert festlegen.

df = data.frame(matrix(rnorm(20), nrow=10)) 
df[sample(nrow(df), 3), 'X1'] <- 0 
+0

Danke für die Antwort würde sich geändert! – Jay

2

Oder Sie data.table Paket verwenden können:

library(data.table) 
df = data.table(matrix(rnorm(20), nrow=10)) 
df[sample(.N,3), V1 := 0] 

Außer, dass die Standard COLNAMES zu 'V1''V2' ...

+0

Danke, ich schaue mir das an! – Jay

Verwandte Themen