2016-04-13 17 views
0

satırlarına nasıl dönüştürebilirim Aşağıdaki veri kümesi için satırların sütunlara nasıl dönüştürüleceğini bilmek istiyorum.Satırları R

School class Avg Subavg Sub 
ABC  2 25.3 17.2 Geo 
ABC  2 25.3 18.2 Mat 
ABC  2 25.3 20.2 Fre 
ABC  3 21.2 17.2 Geo 
ABC  3 21.2 18.2 Mat 
ABC  3 21.2 20.2 Ger 
ABC  4 16.8 17.2 Ger 
ABC  4 16.8 18.2 Mat 
ABC  5 20.2 20.2 Fre 

Beklenen çıkış

School Std stdavg Geo mat Ger  Fer 
ABC 2 25.3 17.2 18.2 NA  20.2 
ABC 3 21.2 17.2 18.2 20.2 NA 
ABC 4 25.3 NA 18.2 17.2 NA 
ABC 5 25.3 NA NA  NA  20.2 
Ben ayırma işlevi kullanılan

, Ama boşuna olacaktır. peşin

Teşekkür

+0

'stdavg' ve 5 ila spread kullanabilirsiniz herhangi bir anlam ifade etmek. – akrun

cevap

1

Biz değil dcast

library(data.table) 
dcast(setDT(df1), School+class+Avg~Sub, value.var="Subavg") 
# School class Avg Fre Geo Ger Mat 
#1: ABC  2 25.3 20.2 17.2 NA 18.2 
#2: ABC  3 21.2 NA 17.2 20.2 18.2 
#3: ABC  4 24.8 NA NA 17.2 18.2 
#4: ABC  5 24.8 20.2 NA NA NA 

kullanmak Veya beklenen çıktıda tidyr

library(tidyr) 
spread(df1, Sub, Subavg) 
4 için
+0

Maalesef (neyse ki), kontrol edemediğimiz bir şey bu. Ve oylama anonim olmakla (çok şükür), rastgele bilinmeyen birisine bir ders öğretme şansı çok zayıftır. – zx8754