So basically, S4 is more 'statically typed' than S3 (more 'dynamically typed')? Any speed/efficiency differences between executing S3 or S4 code? Why are they actually called "S3" and "S4"? Does it come from some kind of version history of the S programming language or something like that? Are there "S1" and "S2"?
You are right in most of these, there's no S1 and S2 on OOP side as this type only started in S3 ( S language version 3). Using S3 and S4 are both actually slower than a generic functions(adv-r.had.co.nz/Performance.html) , but since I only use them for the initial loading of datasets, speed isn't really something I am very familiar in. So far I got most of my information from this book (Advanced R by Hadley Wickham.)(adv-r.hadley.nz/), but I do see some discrepancies on the history and definition between the two class on other site.
Thanks so much! Do you have experience plotting images in s4 that are grouped or stacked? I'm using an s4 package that produces various plots, but I have not figured out how to stack them in rows or columns as single figure... similar to what we would do in s3 using ggarange or face-wrap? Thanks.
Hey LiquidBrain. Any advice on accessing cells within attribute but by the string contained in the cell and not indexing? e.g. Instead of data@colData@listData$primary_diagnosis[1] I want the equivalent of data@colData@listData$primary_diagnosis["My_chosen_feature"] but it doesn't work :\
do you mean data@colData@listData$primary_diagnosis$My_chosen_feature ? or data@colData@listData$primary_diagnosis[data@colData@listData$primary_diagnosis == My_chosen_feature] ?
@@LiquidBrain Thanks! Kept running into trouble because of NAs. These containers are hard to get the hang of subsetting, filtering and cleaning if you feel like releasing more videos on those I'd be grateful.