2016-08-11 17 views
0

Tor

ich zu verwenden ist versucht for-Schleifen, zwei Dinge zu tun:for-Schleife Mit den Daten der Teilmenge und erstellen Variablen

  1. Erstellen von Variablen in einer Handvoll von Datenrahmen
  2. neue Daten erstellen Rahmen von Teilmengen von anderen Datenrahmen

Beschreibung

ich habe Einzel Erhebungsdatensätze für jeden Staat in den USA. Ich möchte sie alle zu einem einzigen Datensatz für die USA zusammenführen, aber es gibt eine ungleichen Anzahl von Variablen pro Datensatz. Daher plane ich, für jeden Zustand unterteilte Datenrahmen zu erstellen und sie dann miteinander zu verbinden.

Frage 1:

Erste, ich möchte eine Variable in jedem Staat schaffen, der einfach den Zustand Namen als String haben. Dies wird helfen, den Zustand zu identifizieren, sobald ich ihn in den zusammengeführten Datenrahmen binde. Hier ist ein Beispiel dafür, was Ich mag würde automatisieren:

vermont$state <- "vermont" 
alabama$state <- "alabama" 
... 
texas$state <- "texas" 

Ich habe eine Liste von jedem Staat geschaffen, durch die ich durchlaufen kann:

statenames <- c("alaska", "california", "vermont", ..., "new jersey", "texas") 

ich versucht bin zu tun, mit diesem einen für loop:

for (i in statenames){ 
    i$state <- "i" 
} 

Frage 2

Zweite, Ich möchte eine bestimmte Menge von Variablen aus jedem der Datensätze in neue Datenrahmen extrahieren, die ich dann für einen einzigen Datenrahmen zusammenbinden kann.

Ich habe eine Liste von Variablen erstellt, die ich von jedem Datensatz will:

variables <- c("population", "size", "income", ..., "education") 

Ich bin neu in der Programmierung, und zu versuchen, mein Bestes zu verwenden for-Schleifen, dies zu erreichen:

for (i in statenames){ 
    i.sub <- i[variables] 
} 

Wenn ich jeden der beiden for-Schleifen ausführen, scheint nichts zu passieren. Keine Fehlermeldungen Keine variable Erstellung Keine neue Datenrahmenerstellung

Jede Hilfe sehr ~

+0

was Ihre erwartete Ausgabe –

Antwort

0

Q1

for(i in state.name){ 
    df = data.frame(state = assign(paste(i),i)) 
    assign(paste(i),df) 
    } 

Q2

variables <- c("population", "size", "income") 


    for(i in state.name){ 
    df = data.frame(state = assign(paste(i),i)) 
    df[variables] = NA 
    assign(paste(i),df) 

    } 
+0

Danke geschätzt würde! Sorry für die späte Antwort - ich schätze es wirklich :) – Yasha

Verwandte Themen