2013-05-20 24 views
5

böyle test görünmesi için basit reshape yapmaya çalışıyorum neden olur İşte?basit yeniden biçimlendirme hatası

> sessionInfo()  
R version 2.15.2 (2012-10-26) 
Platform: x86_64-unknown-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=C     LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] reshape2_1.2.2 

loaded via a namespace (and not attached): 
[1] plyr_1.8  stringr_0.6.2 
+0

... eğlence için, taban R yolu value.var = "value") ' –

+0

@ G.Grothendieck: Takip ettiğimden emin değilim, amaç testin ikinci satır gibi görünmesini sağlamaktır. – Alex

+0

Bunu deneyin: 'dcast (m, 1 ~ cf + değişken)' –

cevap

6

Belki senin sorunun etkili sıfır "satır" değişkenler (diğer bir deyişle, döküm formülün lhs hiç bir şey istemiyorum) sol olması. Bu geçici çözüm (bir taklit değişken ekleyerek) yardımcı olabilir? ~ `Dcast (m, cf değişkeni: nesnel sonra istediğiniz bir 'm'` dan `sına kurtarmak için ise

d = dcast(cbind(x=1,m), formula = x ~ cf + variable) 
+0

evet bu çözer .. bu bir hata olmalı? – Alex

+1

Teknik olarak * bir hata olduğundan emin değilim - sıfır değişkenlerin sol durumunun tartışılıp açılmadığını görmek için teknik özellikler/dokümantasyona yakından bakmak gerekir. Bahsedilmediyse, o zaman bir hatadan ziyade "tanımsız davranış" ... (Yazılımın istediğini yapmadığı bir durumda, tasarımcı düşünmediği bir durumda, mutlaka bir hata oluşturmaz.) –

5

İşte

reshape(transform(test, id=1), idvar='id', timevar='cf', direction='wide')[-1] 
# estimate.a tstat.a estimate.b tstat.b 
# 1   1  3   2  4 
+0

teşekkürler! Ben alıştığım için pakete yapışmayı umuyordum ama mümkün olduğunda baz R işlevselliğini kullanmalıyım. – Alex