Aşağıda gösterildiği gibi uzun bir biçimdeki veri kümesini ele alıyorum.r dönüştürme veri kümesinden uzun ile geniş arası
id Name FluidTotal
60718 Rocuronium 11.069175
07860 Rocuronium 5.967500
90389 Rocuronium 200.000000
01536 Rocuronium 78.311333
01536 Rocuronium 51.415600
28047 Rocuronium 72.944444
28047 Acid 1
28047 Acid 1
28047 Acid 1
28047 Acid 1
92323 Acid 1
92323 Void 100
01536 Void 25
60718 Void 70
60718 Void 40
Ne yapmaya çalışıyorum
Id Rocuronium Acid Void
60718 11.069175 - 110
07860 5.967500 - -
90389 200.000000 - -
01536 129.72693 - 25
28047 72.944444 4 -
92323 - 1 100
ilk satır 60718 11.069175 - 110
, Void
için hücre değeri 110
olduğunu Aşağıda bu gibi geniş bir biçime bu dönüşümü olan kimliği için son iki satır çünkü Uzun formatta, 70
ve 40
şeklindedir, böylece geniş biçime dönüştürüldüklerinde bu iki değer eklenir.
Benzer geniş formatta id 01536
için Rocuronium
değeri 129.72693
bu kimliği 01536
için uzun formatta satırlar 4 ve 5 çünkü 78.311333
ve ben bu dönüşümü gerçekleştirerek herhangi bir yardım takdir ediyorum
51.415600
, sayesinde peşin ..
burada aynı - http://stackoverflow.com/questions/35424064/converting-long-to-wide-format/35424289 'yeniden şekillendirmek (aggregate (FluidTotal ~., data = dat, FUN = toplam), idvar = "id", timevar = "Name", direction = "geniş") – thelatemail
Veya 'tidyr' paketinin' spread' işlevini kullanabilirsiniz. – Gopala
'yeniden şekillendirmek (aggregate (....)), yeni bir R kullanıcısı için bir kerelik başarı ve daha sonra başarısızlık için bir reçete gibi görünüyor. En deneyimli R kullanıcıları hala 'yeniden şekillendirmek' ile sorun yaşıyor. –