Ich habe einen Datenrahmen ähnlich wie dieseMaßstab alle Werte auf Gruppe je
ID <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)
p1 <- c(21000, 23400, 26800, 2345, 23464, 34563, 456433, 56543, 34543,3524, 353, 3432, 4542, 6343, 4534)
p2 <- c(234235, 2342342, 32, 23432, 23423, 2342342, 34, 2343, 23434, 23434, 34, 234, 2343, 34, 5)
my.df <- data.frame(ID, p1, p2)
Nun möchte Ich mag die Werte in p1 skalieren und p2 auf ihre ID abhängig. Es wird also nicht die ganze Spalte wie bei der tapply() -Funktion skaliert, sondern die Skalierung erfolgt für alle Werte für ID 1 einmal, für alle Werte für ID 2 usw. Gleiches gilt für die Skalierung von p2. Der neue Datenrahmen sollte aus den skalierten Werten bestehen.
Ich habe bereits versucht
df_scaled <- ddply(my.df, my.df$ID, scale(my.df$p1))
aber die Fehlermeldung
.fun is not a function.
Vielen Dank für Ihre Hilfe bekommen!
oder allgemeiner 'my.df%>% group_by (ID)%>% mutate_at (vars (Übereinstimmungen ('p')), Spaß (Skala))' – Sotos
Danke. Es funktioniert auf dem Datenrahmen, den ich hier als ein Beispiel aufstellte, aber mit dem realen Datenrahmen erhalte ich den Fehler: Unerwartetes '=' in "skalierte_Data <- predictortable_panel%>% group_by (vorhersagefähige_Panel $ ID)%>% muate (prekordortable_panel $ p1 = "--- irgendeine Idee, warum es nicht das Gleichheitszeichen nimmt? – GNee
Sie sollten den Namen des Datenrahmens innerhalb der' dplyr 'Funktionen nicht wiederholen (dh' prejectorable_panel $ '' entfernen; 'muate (p1 = .. .' etc sollte funktionieren. – mpjdem