2017-09-20 17 views
0

Die eigentlichen Daten ich arbeite mit mehr und mehr Variablen hat, aber ich habe ein Datum, die etwa wie folgt aussieht:bestimmte Spalten

country <- c("US", "US", "US", "Korea", "Korea", "Korea") 
cause <- c("sharp", "suicide", "others") 
value <- c(30, 20, 50, 40, 40, 20) 
numbers <- cbind(country, cause, value) 

    country cause  value 
[1,] "US" "sharp" "30" 
[2,] "US" "suicide" "20" 
[3,] "US" "others" "50" 
[4,] "Korea" "sharp" "40" 
[5,] "Korea" "suicide" "40" 
[6,] "Korea" "others" "20" 

Ich mag es so aussehen:

 country sharp suicide others 
[1,] "US" "30" "20" "50" 
[2,] "Korea" "40" "40" "20" 

Ich habe versucht, den Transpose-Befehl, aber R transponiert alles in der Spalte und die Namen der Länder wiederholen sich mehrmals. Wie kann ich die Ursachen als Spaltennamen verschieben und ihre entsprechenden Werte darunter zuweisen?

Antwort

2

Wenn Sie einen Datenrahmen umwandeln können Sie spread von tidyr

library(tidyr) 
numbers_df <- as.data.frame(numbers,stringsAsFactors=FALSE) 
numbers_transpose <- numbers_df %>% spread(key = cause, value = value) 
verwenden
Verwandte Themen