2017-01-25 13 views
1

Ich habe zwei Spalten: eine ist eine numerische Variable und die andere ist eine kategorische Variable. Wie mache ich es so, dass ich n Spalten für die n Kategorien meiner kategorialen Variablen und in jeder Spalte die numerischen Beobachtungen habe, die in diese Kategorie gehören. Bitte helfen Sie mir, ich habe versucht, es nachzuschlagen, aber ich kann keine Funktion finden, die den Trick machen wird.R Numerische Variable nach Kategorie aufteilen

Vielen Dank!

+1

Bitte versuchen Sie einen [Minimal, vollständig und prüfbare Beispiel] zu erstellen (http://stackoverflow.com/help/mcve). Veröffentlichen Sie ein Beispiel Ihrer Daten oder [erstellen Sie ein Beispiel] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), und zeigen Sie uns, was Sie bereits versucht haben. –

+1

Sie sollten ein reproduzierbares Beispiel mit Beispieleingabe und erwartetem Ausgabeformat teilen. – TUSHAr

Antwort

1

eine Beispieldaten unter der Annahme:

df = data.frame(x = c(3,6,1,3,8,2) , y = c(letters[1:4], 'c','a')) 
df 
# x y 
#1 3 a 
#2 6 b 
#3 1 c 
#4 3 d 
#5 8 c 
#6 2 a 

df1 = data.frame(df$x* sapply(unique(df$y), function(x) as.numeric(grepl(x, df$y)))) 
colnames(df1) = unique(df$y) 
#  a b c d 
#1 3 0 0 0 
#2 0 6 0 0 
#3 0 0 1 0 
#4 0 0 0 3 
#5 0 0 8 0 
#6 2 0 0 0 
+1

an alt ... 'df $ x * modell.matrix (~ 0 + y, df)' – user20650

+1

@ user20650 danke für die idee! –

+0

@Victoria beantwortet es Ihre Frage? beachten Sie http://stackoverflow.com/help/someone-answers –