Angenommen, wir einen Datenrahmen, die wieeinen Datenrahmen umformen --- Ändern Zeilen in Spalten
set.seed(7302012)
county <- rep(letters[1:4], each=2)
state <- rep(LETTERS[1], times=8)
industry <- rep(c("construction", "manufacturing"), 4)
employment <- round(rnorm(8, 100, 50), 0)
establishments <- round(rnorm(8, 20, 5), 0)
data <- data.frame(state, county, industry, employment, establishments)
state county industry employment establishments
1 A a construction 146 19
2 A a manufacturing 110 20
3 A b construction 121 10
4 A b manufacturing 90 27
5 A c construction 197 18
6 A c manufacturing 73 29
7 A d construction 98 30
8 A d manufacturing 102 19
sieht Wir möchten diese neu zu gestalten, so dass jede Zeile einen repräsentiert (Zustand und) Kreis, eher als eine County-Industrie, mit Spalten construction.employment
, construction.establishments
, und analoge Versionen für die Herstellung. Was ist ein effizienter Weg dies zu tun?
Eine Möglichkeit ist
construction <- data[data$industry == "construction", ]
names(construction)[4:5] <- c("construction.employment", "construction.establishments")
Und in ähnlicher Weise für die Herstellung der Teilmenge, dann tun Sie eine Zusammenführung. Das ist nicht so schlimm, wenn es nur zwei Branchen gibt, aber stellen Sie sich vor, dass es 14 gibt; dieser Prozess würde mühsam werden (obwohl dies weniger durch Verwendung einer for
Schleife über die Pegel von industry
gemacht wird).
Irgendwelche anderen Ideen?
Ah, okay, ich benutzte '.' anstelle von' ... ', also funktionierte es nicht. Vielen Dank! – Charlie