S4
nesnelerle ve yuvalarıyla çalışırken biraz deneyimim var, bu yüzden belirli yuvalara ve alt yuvalara nasıl erişileceğini biliyorum. Öğrenmek istediğim şey, bir nesneyi unlist
listesinin bir S3
listesini ayırma biçiminde "de-delme" işlemidir.Unlisteye() bir S4 eşdeğer var mı?
lssize<-function(items){
if (any(sapply(sapply(items,get),typeof)=='closure')){
warning('Closures in list, will ignore.')
items<-items[(sapply(sapply(bar,get),typeof)=='closure')!=TRUE]
}
sizes<-sapply(sapply(sapply(sapply(items,get,simplify=F), unlist,simplify=F), as.vector,simplify=F), length)
return(sizes)
}
(benim kod :-) gülüyor hiçbir fuarda):
Benim öncelikli hedefi, bir nesnenin elemanlarının sayısını döndürür benim oyuncakların birine bir S4 muadili sahip olmaktır. Ben onları dönüştürmek için bir kerede bir tane yuvaları ayıklayan bir yineleme rutin yazmak zorunda kalmamayı umuyoruz.
Düzenleme: Biliyorum object.size
bytecount döndürecektir; burada olduğum şey değil.
Sen str 'bir göz (sahip olmak isteyebilirsiniz)' ('utils ::: str .default 'gerçekten) - S4 nesnelerine uygulandığında hem sonuçları hem de S4 nesnesinin tüm yuvalarında gezinmek için kullandığı kod. –