Jag har haft en” varför och hur jag övergick från SPSS till R ” – post i arbetena ett tag. Jag ville lyfta fram hur R kan vara mer användbart för transparenta dataflöden. Sedan, för några dagar sedan, ännu en ”vad är bättre SPSS eller R?”typ av debatt kom upp på twitter. Det liknar p-value wars, eller de fortsatta frequentist vs bayesian striderna som lyckas samtidigt frustrera och intrigera mig. Det kan finnas någon nytta i diskussionen, men ofta är det bara stånghuvud och saknar andra viktiga frågor.
detta inlägg är en skinka-handed, Coors drivs försök att mosa tillsammans varför diskutera vad som är bättre programvara är (mestadels) meningslöst och varför det finns viktigare frågor att ta itu med.
det finns något som händer ganska tidigt när man lär sig ett programmeringsspråk som r, speciellt när man övergår från SPSS: s spetsiga, dragiga droppiga Ness. Kortfattat börjar du bli en av de arseholes som ärligt trodde att alla bara skulle använda R, och börjar berätta för dem exakt det. Kanske händer det inte för alla, jag antar att det finns trevligare människor än jag där ute. Åtminstone finns det en känsla av att R är ”bättre” på något sätt än SPSS.
då händer något. Kanske påminns du av en kollega om begränsningarna av R på grund av att andra använder SPSS ensam, eller du spenderar en hel vecka som uttrycker det mest profana språket som gränsar till datorrasism eftersom din skitkod inte gör det där som det borde göra (mina exakta ord för inte så länge sedan). Hur som helst, du börjar inse att det inte finns en one-size-fits-all lösning på databehandling och analys. Vissa verktyg är bättre för vissa saker, men om det fungerar så låt det fungera för människor (alternativt, var inte en dogmatiker bawbag som argumenterar för en filt).
oavsett om du använder R, SPSS, Python, JASP (shout out to JASP for be amazing), MATLAB, Excel eller något annat programmeringsspråk eller statistikprogram, kan du på ett adekvat sätt utföra de analyser som du behöver för att göra statistiska slutsatser från dina data. Om du är super angelägen och/eller hatar dig själv kan du också göra allt för hand. Men vi borde alla vara överens om att för att få ditt t-test gjort, fungerar allt.
huruvida en viss programvara är” bättre ” än en annan, särskilt om du förespråkar dess bredare användning, beror på vad som menas med bättre. Om bättre betyder bättre statistik, då är du skit av lycka, för det kan göras var som helst.
det finns så många andra viktiga överväganden som saknas i debatten mellan programvara, som; om programvaran är fri och öppen källkod, och om verktyget erbjuder Bayesian statistik. Jag har använt JASP i ungefär 30 minuter och jag föredrar det redan till SPSS eftersom det har; omedelbar feedback, Bayesiansk statistik, och det är gratis. Jag skulle också älska att använda Python, för då skulle jag ha ett enda språk för mina uppgifter, datahantering, analys och rapportering. Men, att ha tid att lära sig språket är bortom mina gränser just nu.
det finns ingen one-size-fits-all strategi för datahantering och analys och ingen ”bästa programvara”.
Transparent datahantering
här är frågan jag har tänkt på som vi kunde fokusera på istället. Hur kan vi göra vår datahantering och analys transparent och reproducerbar? Detta är mycket viktigare för utvecklingen av vetenskap än bashing mjukvaror.
detta är dock en anledning till att jag föredrar R; dokumenterad databehandling och analys. Manuset kan delas och bedömas. Du kan till och med göra snygga saker och få r att spotta ut en markdown PDF (i APA-format) med varje steg i din databehandling och analys som en jävla trollkarl.
” men, du kan spara och dela SPSS syntax sam du gigantiska dong!”argumenterar den trevliga personen på min axel. OK, med SPSS kan du köra allt från rådata till den slutliga analysen och spara syntaxen. Bra, om jag såg att detta faktiskt hände, skulle jag vara extatisk. Men, eftersom detta inte lärs ut som standard i undergrad statistik, vi sluta med massor av papperslösa nonsens.
vad händer också (och jag skulle satsa pengar är mer sannolikt), är att något annat används (excel) för att manipulera data med åtminstone en viss grad av kopia+klistra in eller dra värden från en fil till en annan för att aggregera dem. Men kanske är min uppfattning färgad genom att spendera ca 6 timmar i mina mästare som kopierar, klistrar, drar ner två celler och registrerar variabler i varje enskild deltagares EEG-data, i excel, innan de går in i Matlab för att bash det lite mer.
åtminstone kommer det att finnas ett visst stadium av databehandlingen som i bästa fall inte dokumenteras, och i värsta fall är en klusterknull som aldrig kunde replikeras även med de bästa avsikterna.
gör detta R bättre? Svaret är att det inte behöver. Jag gillar att med R kan jag gå från de rådata som har genererats, till bearbetade data, till utgången från de slutliga statistiska analyserna i ett enda skript. Det är rent och känns mer effektivt. Det betyder att varje steg kan kontrolleras. Men, detta kan också uppnås om du har bashed data med excel, importeras till SPSS, slog den med en slägga, och sedan clickedy klickade på någon analys, förutsatt att stegen dokumenteras. Det är möjligt att ha ett helt transparent och replikerbart arbetsflöde utan att använda ett skriptprogrammeringsspråk. Den största skillnaden är att, i R, varje steg i processen automatiskt dokumenteras och replikeras som standard.
så är det värt att byta mellan programvara? inte nödvändigtvis. I det första fallet tror jag att det bättre alternativet är att investera tid i att göra din dataöverföring beräkningsmässigt reproducerbar och transparent. Detta kan göras var som helst, från att använda SPSS-syntaxen till att skriva en super detaljerad redogörelse för vilken del av ett dokument som du kopierade och klistrade in från. Så länge du rimligen kan anta att med tanke på dina rådata och dokumentation kan någon annan återskapa dina resultat, då är vi gyllene.
detta kan också leda dig mot ett programmeringsspråk som R, python eller Matlab eftersom det i slutändan blir mindre tidskrävande att integrera dessa analyssteg i ett enda skript. I slutändan är öppenhet ett bättre mål än programvara bigotry. Mitt take home-meddelande är det snarare än att fråga ” vilken programvara ska jag lära mig?”, vi borde uppmana varandra att fråga ” Hur kan jag Öppet dokumentera min databehandling och analys?”.
I do still prefer R to pointy-clicky though…