Bästa svaret
Jag vill vara specifik och säga att R är bra för dataanalys, speciellt om du istället följer den ”moderna R” -utvecklingen av infödda R. Jag tycker att dess ekosystem är mycket attraktivt. Här är några av de saker som gör att R sticker ut.
- R är gratis, jämfört med andra populära statistik- / dataanalysprogram som SAS eller Matlab.
- R var utformad för att hantera tabelldata i dataanalys. (Det var aldrig utformat som ett allmänt språk som python, så de är inte riktigt jämförbara.)
- R har några av de bästa dataanvändningarna, datavisualisering, resultatrapporteringsfunktioner. Saker som tidyverse (dplyr, tidyr, ggplot2 etc.), data.table, Rmarkdown, blank app etc. Det finns liknande saker i Python, men inte alls lika bra eller lätta att använda. Visualiseringspaketet ggplot2 är bara så snyggt och kan hantera mycket komplicerad plottning. Vissa människor kan använda R helt enkelt för ggplot2. Det finns också webbaserade grafikpaket som plotly etc.
- Rstudio IDE. Det är helt enkelt fantastiskt. Jag skulle säga att R: s attraktivitet kommer att minskas minst hälften om Rstudio inte finns. Hur jag önskar att python har något så snyggt, lätt att använda och kraftfullt. (Spyder är nära, bara inte där än.)
- Kommersiell utveckling av Rstudio. Vinstdriven utveckling är avgörande för R-ekosystemets långsiktiga hälsa. R har en stark grupp användare och det starka engagemanget från företaget Rstudio. Jag tror att Rstudios senaste ansträngningar har gjort R till en mycket tilltalande miljö som andra. Det betyder den fantastiska Rstudio IDE-miljön, integrerad med Rmarkdown, Rbookdown, felsökningsverktyg, glänsande app etc. Rstudio anlitade också några av de viktigaste R-utvecklarna som Hadley Wickham, Max Kuhn, Yihui Xie etc. som anses vara moderna själar R. Det fina är när dessa människor gick med i Rstudio, deras R-paket, som knitr, devtools etc. förbättras också och integreras för ett bättre arbetsflöde.
- Slutligen, om du redan har hoppat på fartyget av R är det inte svårt att tillämpa dina färdigheter på python. Python, som språk, är lättare att lära sig än R. Med tanke på dataanalys utbildad i R kan liknande färdigheter överföras till python ganska snabbt.
Om någon vill ha lite idén om att arbeta på modernt R-sätt kan Hadleys senaste bok ”R för datavetenskap” fungera som en mycket trevlig introduktion. Följ också utvecklingen av Rstudio, eftersom de kontinuerligt lägger till nya saker som gör att R är en mycket trevlig upplevelse.
Svar
Som Paulina Jonušaitė påpekade är R bra eftersom det designades för statistiker av statistiker, och medan statistiker inte är kompetenta språkdesigners – definitivt inte tillräckligt för att göra en design av ett språk sammanhängande och förutsägbart – visar det sig tydligen att / span> språket gör som man kan förvänta sig (eller åtminstone ofta så att de som bara hade en ytlig kontakt med det vanligtvis inte märker dess inkoherens).
R-programmeringsspråk designades genom att ta ett mycket bra programmeringsspråk som heter Scheme, och slänga in några konstiga syntaxer och beteenden för att göra det, uhm, mer tilltalande för statistiker. Så om det finns någon känsla av godhet i det språket måste det komma från Scheme.
Du kan hitta några referenser i Panicz Godeks svar på Varför är syntaxen för R så (dåligt) annorlunda än andra programmeringsspråk?