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.
A very nice introduction for the S3 and S4 Class, thank you.
Thanks for great content!!! very informative.
Thank you for nice introduction
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.
S4 is dynamically typed.
Thank you. Nice, but you seemed to rush things in the second half.
How do i get my R script to look like yours? Mine are not as funny and are often filled with sadness
Great explanation!
Thank you so much!
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.
in 15:31 line 93, why is it `assays(se)$count` but not `se@assays$count`? Thank you.
It should generate the same results 😅😅
Thank you, I learned a lot. However, I am confused, why it is `assays(se)$count`. I would have guessed `assays(se)$counts` instead.
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.