2016-04-12 13 views
3

Grup tarafından dplyr (v0.4.3) ntile işlevini uyguladığımda ve ilk gruptaki tüm değerlerin NA olduğunu fark ettim. Üçüncü grup da NA olur. Bu sadece ilk grup NA olduğunda gerçekleşen tuhaf bir böcek (?).dplyr hatası - gruplandırılmış ntile, ilk grup tüm NA

Aşağıdaki basit örnek - beklenen davranış, ntile "a" grubundaki tüm NA değerlerini NA olarak sıralayacaktır, ancak NA değeri içermese de "c" grubunu NA olarak sıralar. NA değerlerini "b" grubuna taşıdığımda işlev beklendiği gibi çalışır. arka plan için

x <- data.frame(group = rep(c("a","b","c","d"), 5), value = 1:20) 
x$value <- ifelse(x$group == "a", NA, x$value) 
x %>% 
group_by(group) %>% 
mutate(quintile = ntile(value, 5)) 

# Source: local data frame [20 x 3] 
# Groups: group [4] 
# 
#  group value quintile 
# (fctr) (int) (int) 
# 1  a NA  NA 
# 2  b  2  1 
# 3  c  3  NA 
# 4  d  4  1 
# 5  a NA  NA 
# 6  b  6  2 
# 7  c  7  NA 
# 8  d  8  2 
# 9  a NA  NA 
# 10  b 10  3 
# 11  c 11  NA 
# 12  d 12  3 
# 13  a NA  NA 
# 14  b 14  4 
# 15  c 15  NA 
# 16  d 16  4 
# 17  a NA  NA 
# 18  b 18  5 
# 19  c 19  NA 
# 20  d 20  5 

, İlk randevuda tüm değerler için NA yaratır tarih-kalmış stok verileri, duyuyorum. Daha sonra tarihe göre gruplandırıldığında, sıralama işlevi düzgün çalışmıyor. peşin

Çok teşekkürler, Alex Ryer

+2

Eh düzeltilmiştir i stumped. Sorunu yeniden üretebilirim ve satır sırası veya “ntile” gruplarından bağımsız olarak var olur. – thelatemail

+2

dplyr_0.4.2 kullanıyorum, hatayı alamıyorum. ben quintile olsun = NA 1 1 1 NA 2 2 2 NA 3 3 3 NA 4 4 4 NA 5 5 5 – chinsoon12

+2

https://github.com/hadley/dplyr/issues – chinsoon12

cevap