- 157
- 256 898
Jonatan Lindh
Sweden
เข้าร่วมเมื่อ 23 มี.ค. 2013
Online material for doctoral course 2971 (previously 2657) at Karolinska Institutet: "Introduction to R - data management, analysis and graphical presentation". Lecturers: Jonatan Lindh (MD, PhD) and Marine Andersson (MSc, PhD).
Monoklonalernas namn
Varför har monoklonala antikroppar så underliga namn? Här uppdagas sanningen.
มุมมอง: 157
วีดีโอ
Fix worn-out shirt cuffs
มุมมอง 8K3 ปีที่แล้ว
Make the worn-out, frayed cuffs as new again in 30 minutes, without having to replace them. Here's how! If you've tried this or have other ideas on how to do it, please share your thoughts in the comments below.
Janusmed interaktioner VI - riskprofil och förbättringar
มุมมอง 1244 ปีที่แล้ว
Janusmed interaktioner VI - riskprofil och förbättringar
Janusmed interaktioner V - extrapolering och exempel
มุมมอง 1254 ปีที่แล้ว
Janusmed interaktioner V - extrapolering och exempel
Janusmed interaktioner IV - användning samt QT-förlängning
มุมมอง 1304 ปีที่แล้ว
Janusmed interaktioner IV - användning samt QT-förlängning
Janusmed interaktioner III - klassificering
มุมมอง 2104 ปีที่แล้ว
Janusmed interaktioner III - klassificering
Janusmed interaktioner II - arbetsprocess
มุมมอง 1364 ปีที่แล้ว
Janusmed interaktioner II - arbetsprocess
Janusmed interaktioner I - historik och innehåll
มุมมอง 3334 ปีที่แล้ว
Janusmed interaktioner I - historik och innehåll
RPN Masterrace
Dessa videor ger mig lite mer insikt vad jag ska göra med min gymnasie/komvux matte. Frågorna jag alltid har frågat mina lärare är. Vad ska jag göra med denna mattekunskap och svaret är du måste bara lära dig det - det finns ingen praktisk användning.
Wow! thanks so much for sharing - your video is excellent! I hope you continue to share your expertise with sewing!
Thank you, my husband has shirts that are good condition, but the cuffs are worn. I can do this.
Thanks a lot, very short and simple🎉
What is that Iron brand and model, if you would see this note
It's OBH Nordica 2115, quite old.
tack så mycket, hjälpte mycket!
That was really informational with just the right amount of explaining. I have never had a teacher explain it better! I am comfortable using it now and I can see how cool it is.
Thanks for the course. Could you please upload the data as well?
I guess this answer is a bit too late to matter anymore, but I think I found the data here: nzdotstat.stats.govt.nz/wbos/Index.aspx?DataSetCode=TABLECODE8317. However, I recall the data is aggregated and that I transformed it to one-row-per-individual format in order to get a large enough file to measure the runtime differences between data.table and data.frame.
Thank you, Sir. I like your tutorial. Please upload more. @@jonatanlindh6691
Excellent tutorial. Thank you!
This is an absolutely excellent video... Easy to follow... A-plus for sure, thank you very much...
R for Data science th-cam.com/play/PLgXVfjljia4AjSfAigrDrntHZqDCyQ0uA.html If you are interested in learning data science, please subscribe this channel. Thanks
Just what I've been looking for. Thanks for sharing 😊
Thank you for sharing for free.
I am curious. Is this a for-credit-course?
Yes, the videos are part of a doctoral for-credit course at Karolinska Institutet (including a lot of exercises that are not freely available), but we posted all the videos on TH-cam to make them available to anyone whose interested.
@@jonatanlindh6691 You are awesome.
dtplyr allows one to link tidyverse and data.table and get the best of both.
What an extremely useful video, thank you very much. I’ve been using a method I invented on my own on the sewing machine, and your method is much better so I will be adopting it! Keep up the good work.
Thanks for your video, it really helped me clarify the Array Data Structure. I was lucky your video just happened to come up in my default videos. I'm very glad because I have subscribed to your channel. There are other videos (on your site) about Data Structures which will be of great assistance! Your explanations were very clear. I am fairly new to R and will find your channel a great resource. Thanks again.
Very good idea.
wow, this is a great idea. i just started getting some nice shirts, but i can't afford them brand new so i've been picking them up secondhand. i'm expecting them to get worn/frayed a lot sooner, but this could be good to try out. thanks 🙏
thanks it realy helped me🙏
Thanks a lot for your course! It is really easy to follow and simplified. 😊😊 Will continue to watch your courses!!!
Awesome vid. Cant wait to check out the course!
Thanks for doing that! it's. so good to see the difference between these two data.frame and data.table
thank you for this video. :)
Funnily enough, I wrote a similar code recently to evaluate the effect of sample size on False Negative Rate, to later discover that such idea already exists, called Statistical Power. And now, watching your video, I confirmed that the process to calculate such Power is what I wrote. Feels like inventing the wheel in my own island and then discover that cars have been around for a while.
length(p[p<.05])/length(p) could also be written as mean(p<0.05)
That's correct. I guess our version was meant to be transparent as to what's happening, but it's not very compact.
What if you create both a and b outside the loop, and just sample n observations in every iteration?
I guess that would introduce a dependence between the different runs, inversely proportional to the size of a and b from which the samples are drawn. Ideally, the popularion pool from which the samples are drawn should be infinitely large and the smaller the pool is, the more similar the samoles would be. And I suspect (haven't tested) that drawing a random sample from a user-defined vector would be slower than creating a sample using e.g. rnorm(). But if the population distribution is to be really weird and time-consuming to simulate I guess it could be efficient to create a single huge vector representing the population and draw samples (with replacement) from this vector each run.
@@jonatanlindh6691 Thanks for your early answer. I agree that generating new samples should provide a higher variance than sampling from a limited dataset.
Thank you! 🙂
Thank u for this Is there a way to paginate tables across slides? Spread tables across slides while using a presentation template?
I'm not quite sure if I get this right, but if you mean letting a table stretch over several slides in the PowerPoint presentation I unfortunately don't know of a way to do that automatically. If I wanted to achieve that I would probably do it manually by putting selected pieces of the table into each slide and indicate the order with text boxes or something.
@@jonatanlindh6691 thank you for your feedback @Jonatan. I am searching for a solution and might resort to looping the insertion as I have some long documents and it is time consuming to do them manually.
it didn't work in RStudio. Should I have installed another package or something prior to this?
Hard to tell without knowing what you did and what error message you recieved. It seems unlikely to be a problem specific to RStudio, but you could always try your code in RGui to rule this out.
You shouldn't need to install any packages (unless you're using Mac). Have you checked that the typeface you try to use is installed in Windows and exists in the font folder?
I'm going to try this. I had been applying bias tape to the cuffs to give them extra life. This works, but your method looks easier. Thanks!
Innebär det att i en studie där man undersöker effekterna av en behandling där resultatet uppvisas i ja och nej-frågor tillhör Nominalskala?
Ja, en enskild sådan fråga som bara kan besvaras med ja eller nej utgör är en nominal variabel. Sedan kan man ju förstås tänka dig att konstruera något slags övergripande mått på behandlingseffekten baserat på flera ja/nej-frågor och detta mått kan bli av en annan typ (t.ex. ordinal).
one thing remained confusing for me, is R OOP?
I almost exclusively work in R, so I'm not an expert when it comes to classification of programming languages, but I would say yes. As far as I know it's considered object oriented, but a quick-and-dirty googling indicates this is controversial and some claim it's somewhere in between OOP an FP.
@@jonatanlindh6691 thank you Jonatan. Before I watch your video, which in it's beginning you mentioned it's OOP, and juat prior to that I was reading the book R in a nutshell which there it was indicating R as more of a functional programming language, and I wondered what is going on. By the way thanks for the reply.
Thanks!! finally, I am new using mac
Vad gaggar du om? Typ1 fel är när man förkastar en sann nollhyptes. Gör man SAMMA experiment flera gånger så kommer självfallet sannolikheten öka att man får ett för lågt p-värde och förkastar hypotesen.
Tack för din kommentar! Jag är inte helt säker på vilken del av presentationen du opponerar dig mot. Jag håller helt med ditt resonemang, men ser inte riktigt hur det står i motsatsförhållande till det jag säger i videon. Utveckla gärna. Typ I-fel är som du säger ett felaktigt förkastande av nollhypotesen (vilket jag försöker förklara i mer konkreta ordalag; om det pedagogiska greppet lyckas är en annan sak). Vid signifikansnivån 0,05 är risken för ett typ I-fel 5%, givet att nollhypotesen är sann. Om man genomför flera tester (där H0 är sann i varje enskilt test) blir den sammantagna risken att råka ut för ett eller flera falskt positiva utfall (typ I-fel) större än 5% och rör sig mot 100% allteftersom antalet tester ökar. Flera tester kan som i ditt exempel bero på att man upprepar samma studie flera gånger (med nya stickprov), eller som i mina exempel på att man genomför subgruppsanalyser eller tittar på flera olika utfallsmått (alla med sann nollhypotes och signifikanströskel 0,05).
@@jonatanlindh6691 Tänkte mer att det är bra att vara tydlig. Man påvisar inte en effekt utan man avgör hur väl datan stämmer med nollhypotesen under förutsättning att den är sann utifrån detta beräknar man p-värdet. Är p-värdet högre än signifikansen så behåller man H0 :)
@@multipontushd4626 Håller helt med även om detta. Men åtminstone inom medicinen är det väldigt vanligt att man tolkar signifikans som påvisad (eller rentav "bevisad") effekt och man måste ju på något sätt förhålla sig till den praxis som finns. Förhoppningsvis får jag fram vad man egentligen kan och inte kan dra för slutsatser av ett signifikant resultat i videon om hypotesprövning (som kommer tidigare i serien), men om hela upplägget är tydligt nog får väl tittarna snarare än jag avgöra. Om man ska gå lite mer på djupet avseende tolkningen borde man ju egentligen dra in Bayesiansk statistik också, men så långt har ännu inte kommit i inspelningarna. Även filmerna om metaanalys har lite bäring på den sammanvägda tolkningen av flera studier och ditt exempel med att man upprepar samma studie flera gånger.
Thanks for sharing!
i was having trouble understanding this in a different video. You really cleared things up for me. Thank you.
Hur fick du fram p värdet när observerade skiilnaden var 10? hur räknar man fram det
I exemplet blev p-värdet 0,56 pga att 56 av de 100 studierna (dvs en andel på 0,56) visade 10 poängs skillnad eller mer. Med andra ord är sannolikheten att en enskild studie om nollhypotesen stämmer ändå ska visa en skillnad på 10 poäng eller mer hela 56%. Detta betraktas som en alltför hög sannolikhet för att vi ska våga förkasta nollhypotesen. I verkligheten brukar man inte på detta sätt räkna simulerade studier, utan istället använda sig av matematiska formler som beskriver sannolikhetsfördelningen (t.ex. t-fördelningen eller chi2-fördelningen). Med dessa formler kan man sedan enkelt plocka fram exakt det p-värde som motsvarar effekten man hittat i sin studie. Vilket test som ska användas beror på vilken typ av data man analyserar, men principen är alltid densamma - man beräknar sannolikheten att man skulle få ett utfall som avviker så mycket (eller mer) från noll som det värde man hittat i sin studie, om nollhypotesen vore sann. Denna sannolikhet är p-värdet.
@@jonatanlindh6691 om man har gjort en undersökning om arbetslöshet i en kommun och sen vill jämföra den med hela Sverige. Hur gör man en hypotetisk test ifall man vet p värdet. Vi säger kommunen har 30% arbetslöshet jämfört med Sverige som har 25% arbetslöshet.
@@xerxesgoogle9204 Jag tolkar det som att du vill se om proportionen arbetslösa i stickprovet från kommunen (30%) skiljer sig från arbetslösheten i Sverige i stort (25%)? Om siffran för Sverige betraktas som säker (och inte även den baserad på ett stickprov) kan du t.ex. beräkna ett 95% konfidensintervall för proportionen från ditt stickprov och om detta inte innehåller värdet 25% är skillnaden signifikant (p<0,05). Om båda värdena (30% och 25%) är baserade på stickprov skulle du kunna använda chi2-testet (fyrfältstabell med kolumnerna arbetslös/inte arbetslös och raderna kommun/Sverige med antalet observerade individer i varje fält). I detta fall kompliceras det hela av att kommunen sannolikt ligger i Sverige och det är då egentligen inte tillåtet att jämföra med två stickprov, eftersom samma person skulle kunna höra till båda grupperna som jämförs. Bättre vore att jämföra kommunen med resten av Sverige (exklusive kommunen). Om du inte har stickprov utan istället fullständiga registerdata på alla individer i kommunen/Sverige kan det dessutom irrelevant att göra ett formellt hypotestest, eftersom det förutsätter att stickproven innehåller ett slumpmässigt urval ur en större population och ska användas för att skatta den okända verkliga andelen arbetslösa i populationen (dvs samtliga individer i kommunen eller Sverige). Om du har data på hela populationen vet du ju hur många som faktiskt är arbetslösa och då räcker det att bara att jämföra värdena utan någon ytterligare statistisk analys. Möjligen kan man tänka sig att se populationen just nu som ett stickprov ur samma population över tid (framtida människor i kommunen), men det känns lite tveksamt för en så varierande faktor som arbetslöshet.
@@jonatanlindh6691 Precis. Kommunens population är ett stickprov ur Sveriges befolkning i stort. Finns det nån formel man kan använda sig av för att beräkna konfidensintervallet?
@@xerxesgoogle9204 statisticslectures.com/topics/cipopulationproportions/
thanks can I have some reading stuff to deal with .N, .N often gets me jittery.
Unfortunately, I don't have any particular written material on .N to offer, but I find the Introduction to data.table (cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.html) really useful and it describes .N to some extent. You have probably already seen it, though.
To the point I like it
I hate widescreens continue use 4:3 big power sir 😈😈🥶
thanks, but under ubuntu it says that the command is not found :-(
Haven't tried it myself, but you could try X11(width=10, height=10)
@@jonatanlindh6691 Wow, this works and actually does what I need! Thank you so much, your video (and comment, of course) is a lifesaver and I would give it 100 likes if I could!
Very simple way to explain Array and their subsetting. Thanks.
This is a really good explanation . Thanks!
How to find the index of first occurrence of each duplicated value?
For each value of df$x, this will give you the row numbers of the first duplicate: d0=df #copy of the data.frame d0$x[!duplicated(d0$x)]=NA which(!duplicated(d0$x)&!is.na(d0$x))
Brilliant, I finally can understand some regex code
This is very useful thank you. However I would like to add the ages of duplicated rows and then erase the duplicates. Any tips?
Hi! If you want to know how many duplicated rows you have, you can write sum(duplicated(d)) and if you want to know the sum of the ages in the duplicated rows you can write sum(d$age[duplicated(d)]). If you want to extract the age values in the duplicated rows (d$age[duplicated(d)]) will give you the desired answer.
Thanks
Thanks for that fread function. It's very fast.