From 3f685944040c84f87b33b9710f470dfaf4452443 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 4 Nov 2022 12:45:16 -0500 Subject: [PATCH] Update welcome, intro, and contributors --- contribs.txt | 185 ----------------------------------- contributors.csv | 245 +++++++++++++++++++++++++++++++---------------- index.qmd | 30 ++---- intro.qmd | 63 +++++++++--- 4 files changed, 218 insertions(+), 305 deletions(-) delete mode 100644 contribs.txt diff --git a/contribs.txt b/contribs.txt deleted file mode 100644 index de7ce7f..0000000 --- a/contribs.txt +++ /dev/null @@ -1,185 +0,0 @@ - 655 hadley - 97 Hadley Wickham - 93 Garrett - 50 S'busiso Mkhondwane - 21 behrman - 11 Brett Klamer - 10 Garrett Grolemund - 10 Radu Grosu - 9 Brandon Greenwell - 8 Bill Behrman - 7 Jose Roberto Ayala Solares - 7 Colin Gillespie - 7 harrismcgehee - 7 Rademeyer Vermaak - 6 Julian During - 6 Jakub Nowosad - 6 jjchern - 6 Mark Beveridge - 6 OaCantona - 5 Mine Cetinkaya-Rundel - 5 Jennifer (Jenny) Bryan - 5 kdpsingh - 5 Zhuoer Dong - 4 Jeffrey Arnold - 4 Yihui Xie - 4 Thomas Klebel - 4 Ben Steinberg - 4 Terence Teo - 4 Stéphane Guillou - 4 Patrick Kennedy - 4 Edwin Thoen - 3 Matthew Sedaghatfar - 3 Maria Paula Caldas - 3 Ian Sealy - 3 Saghir - 3 yahwes - 3 Jonathan Page - 3 Ben Herbertson - 3 Ian Lyttle - 3 seamus-mckinsey - 2 Christian G. Warden - 2 Ben Marwick - 2 Christian Heinrich - 2 Cooper Morris - 2 Daniel Gromer - 2 Devin Pastoor - 2 Erik Erhardt - 2 Etienne B. Racine - 2 Gustav W Delius - 2 Hao Chen - 2 Jeff Boichuk - 2 Jim Hester - 2 Joanne Jang - 2 Kirill Sevastyanenko - 2 MJMarshall - 2 Mara Averick - 2 Mauro Lepore - 2 Nirmal Patel - 2 Paul - 2 Ranae Dietzel - 2 Robert Schuessler - 2 Ulrik Lyngs - 2 Will Beasley - 2 rlzijdeman - 2 robinlovelace - 2 sibusiso16 - 2 spirgel - 1 Earl Brown - 1 nwaff - 1 pete - 1 Johannes Gruber - 1 John Blischak - 1 John D. Storey - 1 John Sears - 1 Jon Calder - 1 Jonas - 1 Dylan Cashman - 1 Dirk Eddelbuettel - 1 Josh Goldberg - 1 Julia Stewart Lowndes - 1 Derwin McGeary - 1 Justinas Petuchovas - 1 Kara Woo - 1 Kara de la Marck - 1 Katrin Leinweber - 1 Kenny Darrell - 1 Kirill Müller - 1 twgardner2 - 1 Kunal Marwaha - 1 KyleHumphrey - 1 Lawrence Wu - 1 Luke Smith - 1 Luke W Johnston - 1 robertchu03 - 1 Abhinav Singh - 1 David Rubinger - 1 David Clark - 1 Matt Herman - 1 MattWittbrodt - 1 Matthew Hendrickson - 1 DSGeoff - 1 robinsones - 1 Michael Henry - 1 Curtis Alexander - 1 Mustafa Ascha - 1 Nelson Areal - 1 Nicholas Tierney - 1 Nick Clark - 1 Nina Munkholt Jakobsen - 1 Ahmed ElGabbas - 1 Nischal Shrestha - 1 Noah Landesberg - 1 Christian Mongeau - 1 Pablo E - 1 A. s - 1 seanpwilliams - 1 Peter Hurford - 1 Charlotte Wickham - 1 Brian G. Barkley - 1 shoili - 1 Riva Quiroga - 1 Rob Tenorio - 1 zeal626 - 1 Robin Gertenbach - 1 Rohan Alexander - 1 RomeroBarata - 1 Brent Brewington - 1 BirgerNi - 1 Sam Firke - 1 Seamus McKinsey - 1 Sebastian Kraus - 1 Shannon Ellis - 1 Sophiazj - 1 Steve Mortimer - 1 Bianca Peterson - 1 TJ Mahr - 1 Tal Galili - 1 Benjamin Yeh - 1 Azza Ahmed - 1 Tim Waterhouse - 1 Tom Prior - 1 蒋雨蒙 - 1 svenski - 1 Angela Li - 1 Yiming (Paul) Li - 1 Yu Yu Aung - 1 Zach Bogart - 1 Andrew Landgraf - 1 a-rosenberg - 1 adi pradhan - 1 andrewmacfarland - 1 bahadir cankardes - 1 batpigandme - 1 Andrea Gilardi - 1 boardtc - 1 djbirke - 1 Alex - 1 Albert Y. Kim - 1 jennybc - 1 AlanFeder - 1 jonathanflint - 1 juandering - 1 kaetschap - 1 Ajay Deonarine - 1 koalabearski - 1 lindbrook - 1 George Wang - 1 Gregory Jefferis - 1 nate-d-olson - 1 Garrick Aden-Buie - 1 nattalides - 1 Hengni Cai - 1 Hiroaki Yutani - 1 Hojjat Salmasian - 1 Floris Vanderhaeghe - 1 Flemming Villalona - 1 Ivan Krukov - 1 Jacek Kolacz - 1 Jacob Kaplan - 1 Everett Robinson - 1 Jazz Weisman - 1 nickelas - 1 Eric Watt - 1 Jen Ren - 1 Jeroen Janssens diff --git a/contributors.csv b/contributors.csv index 4c8cef8..c87b987 100644 --- a/contributors.csv +++ b/contributors.csv @@ -1,139 +1,216 @@ login,n,name,blog -adidoit,1,adi pradhan,http://adidoit.github.io -agila5,1,Andrea Gilardi, -ajay-d,1,Ajay Deonarine,http://deonarine.com/ -AlanFeder,1,NA, -alonzi,1,pete, ALShum,1,Alex,www.ALShum.com +Adrianzo,1,A. s., +AlanFeder,1,NA,NA +AnttiRask,1,Antti Rask,youcanbeapirate.com +BB1464,1,Oluwafemi OYEDELE,statisticalinference.netlify.app +BarkleyBG,1,Brian G. Barkley,BarkleyBG.netlify.com +BinxiePeterson,1,Bianca Peterson, +BirgerNi,1,Birger Niklas, +DDClark,1,David Clark,NA +DSGeoff,1,NA, +EdwinTh,4,Edwin Thoen,thats-so-random.com +EricKit,1,Eric Kitaif, +GeroVanMi,1,Gerome Meyer,https://astralibra.ch +GoldbergData,1,Josh Goldberg,https://twitter.com/GoldbergData +Iain-S,1,Iain, +JeffreyRStevens,2,Jeffrey Stevens,https://decisionslab.unl.edu/ +JeldorPKU,1,蒋雨蒙,https://jeldorpku.github.io +MJMarshall,2,NA,NA +MarckK,1,Kara de la Marck,https://www.linkedin.com/in/karadelamarck +MattWittbrodt,1,Matt Wittbrodt,mattwittbrodt.com +Nowosad,6,Jakub Nowosad,https://nowosad.github.io +PursuitOfDataScience,14,Y. Yu,https://youzhi.netlify.app/ +RIngyao,1,Jajo, +RJHKnight,1,Richard Knight, +Ranae,2,Ranae Dietzel,ranae.github.io +ReeceGoding,1,NA, +Robinlovelace,2,Robin,http://robinlovelace.net +RodAli,1,Rod Mazloomi, +RohanAlexander,1,Rohan Alexander,https://www.rohanalexander.com/ +RomeroBarata,1,Romero Morais,NA +ShanEllis,1,Shannon Ellis,shanellis.com +Shurakai,2,Christian Heinrich, +StevenMMortimer,1,Steven M. Mortimer,https://stevenmortimer.com +a-rosenberg,1,NA, +a2800276,1,Tim Becker, +adam-gruer,1,Adam Gruer,adamgruer.rbind.io +adidoit,1,adi pradhan,http://adidoit.github.io +agila5,1,Andrea Gilardi,NA +ajay-d,1,Ajay Deonarine,http://deonarine.com/ +aleloi,1,NA, +alonzi,1,pete,NA +amacfarland,1,Andrew M., andland,1,Andrew Landgraf,http://andrewlandgraf.com -andrewmacfarland,1,NA,http://www.andrewmacfarland.com/ -aviast,1,Michael Henry, -batpigandme,1,Mara Averick,https://twitter.com/dataandme -bbrewington,1,Brent Brewington, -behrman,29,Bill Behrman, -benherbertson,3,Ben Herbertson, +angela-li,1,Angela Li, +ariespirgel,2,NA,https://arie.rbind.io +august-18,1,NA, +aviast,1,Michael Henry,NA +azzaea,1,Azza Ahmed,https://azzaea.netlify.com/ +bambooforest,1,Steven Moran,https://scholar.google.com/citations?user=PpTOh08AAAAJ&hl=en +batpigandme,4,Mara Averick,https://twitter.com/dataandme +bbrewington,1,Brent Brewington,NA +behrman,29,Bill Behrman,NA +benherbertson,3,Ben Herbertson,NA benmarwick,2,Ben Marwick,http://faculty.washington.edu/bmarwick/ -bensteinberg,4,Ben Steinberg, -bgreenwell,9,Brandon Greenwell, -bklamer,11,Brett Klamer, +bensteinberg,4,Ben Steinberg,NA +bentyeh,1,Benjamin Yeh,https://bentyeh.github.io +betulturkoglu,1,Betul Turkoglu, +bgreenwell,9,Brandon Greenwell,NA +bklamer,11,Brett Klamer,NA +boardtc,1,NA, +c-hoh,1,Christian,hohenfeld.is +camillevleonard,1,Camille V Leonard,https://www.camillevleonard.com/ chrMongeau,1,Christian Mongeau,http://mongeau.net -coopermor,2,Cooper Morris, +coopermor,2,Cooper Morris,NA csgillespie,7,Colin Gillespie,http://www.mas.ncl.ac.uk/~ncsg3/ -csrvermaak,7,Rademeyer Vermaak, +csrvermaak,7,Rademeyer Vermaak,NA +ctsa,1,Chris Saunders,http://www.linkedin.com/in/christophertsaunders curious-abhinav,1,Abhinav Singh,https://curious-abhinav.github.io curtisalexander,1,Curtis Alexander,https://www.calex.org cwarden,2,Christian G. Warden,http://xn.pinkhamster.net/ +cwickham,1,Charlotte Wickham,http://cwick.co.nz darrkj,1,Kenny Darrell,http://darrkj.github.io/blogs -davidrubinger,1,David Rubinger, -DDClark,1,David Clark, +davidrubinger,1,David Rubinger,NA derwinmcgeary,1,Derwin McGeary,http://derwinmcgeary.github.io -dgromer,2,Daniel Gromer, -djbirke,1,NA, -dpastoor,2,Devin Pastoor, -duju211,12,Julian During, +dgromer,2,Daniel Gromer,NA +djbirke,1,NA,NA +dongzhuoer,5,Zhuoer Dong,https://dongzhuoer.github.io +dpastoor,2,Devin Pastoor,NA +duju211,13,Julian During,NA dylancashman,1,Dylan Cashman,https://www.eecs.tufts.edu/~dcashm01/ eddelbuettel,1,Dirk Eddelbuettel,http://dirk.eddelbuettel.com -EdwinTh,1,Edwin Thoen,thats-so-random.com elgabbas,1,Ahmed El-Gabbas,https://elgabbas.github.io +enryH,1,Henry Webel, ericwatt,1,Eric Watt,www.ericdwatt.com erikerhardt,2,Erik Erhardt,StatAcumen.com -etiennebr,2,Etienne B. Racine, -evjrob,1,Everett Robinson, -flemingspace,1,Flemming Villalona, -florisvdh,1,Floris Vanderhaeghe, +etiennebr,2,Etienne B. Racine,NA +evjrob,1,Everett Robinson,NA +fellennert,1,NA, +flemmingmiguel,1,Flemming Miguel, +florisvdh,1,Floris Vanderhaeghe,NA +funkybluehen,1,NA, +gabrivera,1,NA, gadenbuie,1,Garrick Aden-Buie,https://garrickadenbuie.com -garrettgman,101,Garrett Grolemund, -GoldbergData,1,Josh Goldberg,https://twitter.com/GoldbergData -gridgrad,1,bahadir cankardes, -gustavdelius,2,Gustav W Delius, -hadley,725,Hadley Wickham,http://hadley.nz -hao-trivago,2,Hao Chen, +garrettgman,103,Garrett Grolemund,NA +gridgrad,1,bahadir cankardes,NA +gustavdelius,2,Gustav W Delius,NA +hadley,1039,Hadley Wickham,http://hadley.nz +hao-trivago,2,Hao Chen,NA harrismcgehee,7,Harris McGehee,https://gist.github.com/harrismcgehee -hengnicai,1,Hengni Cai, -iansealy,3,Ian Sealy, -ijlyttle,3,Ian Lyttle, -ivan-krukov,1,Ivan Krukov, +hendrikweisser,1,NA, +hengnicai,1,Hengni Cai,NA +iansealy,3,Ian Sealy,NA +ijlyttle,3,Ian Lyttle,NA +ivan-krukov,1,Ivan Krukov,NA jacobkap,1,Jacob Kaplan,http://crimedatatool.com/ -jazzlw,1,Jazz Weisman, +jazzlw,1,Jazz Weisman,NA +jdblischak,1,John Blischak,https://jdblischak.com/ jdstorey,1,John D. Storey,http://jdstorey.github.io/ jeffboichuk,2,Jeff Boichuk,https://www.commerce.virginia.edu/faculty/boichuk jefferis,1,Gregory Jefferis,http://www2.mrc-lmb.cam.ac.uk/group-leaders/h-to-m/gregory-jefferis/ -JeldorPKU,1,蒋雨蒙,https://jeldorpku.github.io -jennybc,6,Jennifer (Jenny) Bryan,https://jennybryan.org -jenren,1,Jen Ren, +jennybc,4,Jennifer (Jenny) Bryan,https://jennybryan.org +jenren,1,Jen Ren,NA jeroenjanssens,1,Jeroen Janssens,http://jeroenjanssens.com +jilmun,3,Janet Wesner,jilmun.github.io jimhester,2,Jim Hester,http://www.jimhester.com -jjchern,6,JJ Chen, +jjchern,6,JJ Chen,NA +jkolacz,1,Jacek Kolacz, joannejang,2,Joanne Jang,joannejang.com -johnsears,1,John Sears, -jonathanflint,1,NA, +johnsears,1,John Sears,NA +jonathanflint,1,NA,NA jonmcalder,1,Jon Calder,http://joncalder.co.za jonpage,3,Jonathan Page,economistry.com -jpetuchovas,1,Justinas Petuchovas, +jooyoungseo,2,JooYoung Seo,https://jooyoungseo.github.io +jpetuchovas,1,Justinas Petuchovas,NA +jrdnbradford,1,Jordan,www.linkedin.com/in/jrdnbradford +jrnold,4,Jeffrey Arnold,http://jrnold.me jroberayalas,7,Jose Roberto Ayala Solares,jroberayalas.netlify.com +juandering,1,NA, jules32,1,Julia Stewart Lowndes,http://jules32.github.io -kaetschap,1,Sonja, +kaetschap,1,Sonja,NA karawoo,1,Kara Woo,http://karawoo.com -katrinleinweber,1,Katrin Leinweber, +katrinleinweber,1,Katrin Leinweber,NA kdpsingh,5,Karandeep Singh,http://umich.edu/~kdpsingh -khumph,1,Kyle Humphrey, -kirillseva,2,Kirill Sevastyanenko, -koalabearski,1,NA, -krlmlr,1,Kirill Müller, +kevinxperese,2,Kevin Perese, +kferris10,1,Kevin Ferris, +kirillseva,2,Kirill Sevastyanenko,NA +koalabearski,1,NA,NA +krlmlr,1,Kirill Müller,NA +kucharsky,1,Rafał Kucharski, landesbergn,1,Noah Landesberg,noahlandesberg.com -lindbrook,1,NA, +lawwu,1,Lawrence Wu, +lindbrook,1,NA,NA +lwjohnst86,2,Luke W Johnston,lukewjohnston.com +marwahaha,1,Kunal Marwaha,kunalmarwaha.com/about +matanhakim,1,Matan Hakim, maurolepore,2,Mauro Lepore,https://fgeo.netlify.com/ -mbeveridge,6,Mark Beveridge,https://twitter.com/mbeveridge +mbeveridge,7,Mark Beveridge,https://twitter.com/mbeveridge +mcewenkhundi,1,NA, mfherman,1,Matt Herman,mattherman.info -mine-cetinkaya-rundel,4,Mine Cetinkaya-Rundel,https://stat.duke.edu/~mc301 +michaelboerman,1,Michael Boerman,https://michaelboerman.com +mine-cetinkaya-rundel,64,Mine Cetinkaya-Rundel,https://stat.duke.edu/~mc301 +mitsuoxv,5,Mitsuo Shiota,https://mitsuoxv.rbind.io/ mjhendrickson,1,Matthew Hendrickson,https://about.me/matthew.j.hendrickson -MJMarshall,2,NA, -mustafaascha,1,Mustafa Ascha, +mmhamdy,1,Mohammed Hamdy, +mnazarov,1,Maxim Nazarov, +mpaulacaldas,4,Maria Paula Caldas,mpaulacaldas.com +mustafaascha,1,Mustafa Ascha,NA nareal,1,Nelson Areal,nelsonareal.net -nate-d-olson,1,Nate Olson, +nate-d-olson,1,Nate Olson,NA nateaff,1,Nathanael,nateaff.com -nickclark1000,1,Nick Clark, -nickelas,1,NA, +nattalides,1,NA, +nickclark1000,1,Nick Clark,NA +nickelas,1,NA,NA nirmalpatel,2,Nirmal Patel,http://playpowerlabs.com -nmjakobsen,1,Nina Munkholt Jakobsen,http://www.nmjakobsen.com -Nowosad,6,Jakub Nowosad,https://nowosad.github.io +nischalshrestha,1,Nischal Shrestha,http://nischalshrestha.me +njtierney,1,Nicholas Tierney,http://www.njtierney.com +olivier6088,1,NA, +pabloedug,1,Pablo E. Garcia, +padamson,1,Paul Adamson,padamson.github.io peterhurford,1,Peter Hurford,http://www.peterhurford.com -pkq,4,Patrick Kennedy, +pkq,4,Patrick Kennedy,NA +pooyataher,1,Pooya Taherkhani,https://gitlab.com/pooyat radugrosu,10,Radu Grosu,radugrosu.com -Ranae,2,Ranae Dietzel,ranae.github.io -rgertenbach,1,Robin Gertenbach, -rlzijdeman,2,Richard Zijdeman, -Robinlovelace,2,Robin,http://robinlovelace.net +raynamharris,1,Rayna M Harris,https://www.raynamharris.com +rgertenbach,1,Robin Gertenbach,NA +rivaquiroga,1,Riva Quiroga,https://rivaquiroga.cl/ +rlzijdeman,2,Richard Zijdeman,NA +robertchu03,1,NA, robinsones,1,Emily Robinson,robinsones.github.io -RohanAlexander,1,Rohan Alexander,https://www.rohanalexander.com/ -RomeroBarata,1,Romero Morais, +robtenorio,1,Rob Tenorio, rudeboybert,1,Albert Y. Kim,http://rudeboybert.rbind.io/ saghirb,3,Saghir,http://www.ilustat.com +salmasian,1,Hojjat Salmasian, sauercrowd,1,Jonas,https://blog.sauercrowdlabs.xyz -schuess,2,Robert Schuessler, -seamus-mckinsey,4,Seamus McKinsey, -seanpwilliams,1,NA, +sciencificity,3,Vebash Naidoo,https://sciencificity-blog.netlify.app/ +seamus-mckinsey,4,Seamus McKinsey,NA +seanpwilliams,1,NA,NA seasmith,1,Luke Smith,https://seasmith.github.io -sedaghatfar,3,Matthew Sedaghatfar, +sedaghatfar,3,Matthew Sedaghatfar,NA sekR4,1,Sebastian Kraus,https://www.linkedin.com/in/sebastiankrausjena sfirke,1,Sam Firke,samfirke.com -ShanEllis,1,Shannon Ellis,shanellis.com shoili,1,NA,shoili.github.io -sibusiso16,52,S'busiso Mkhondwane, -spirgel,2,NA, -StevenMMortimer,1,Steven M. Mortimer,https://stevenmortimer.com -stragu,1,Stéphane Guillou,https://stragu.github.io/ -svenski,1,Sergiusz Bleja, +sibusiso16,52,S'busiso Mkhondwane,NA +sonicdoe,11,Jakob Krigovsky,https://sonicdoe.com +stragu,4,Stéphane Guillou,https://stragu.github.io/ +svenski,1,Sergiusz Bleja,NA talgalili,1,Tal Galili,https://www.r-statistics.com -timwaterhouse,1,Tim Waterhouse, +timbroderick,1,Tim Broderick,http://www.timbroderick.net +timwaterhouse,1,Tim Waterhouse,NA tjmahr,1,TJ Mahr,tjmahr.com tklebel,4,Thomas Klebel,https://thomasklebel.eu -tomjamesprior,1,Tom Prior, +tomjamesprior,1,Tom Prior,NA tteo,4,Terence Teo,tteo.github.io +twgardner2,1,NA, +ulyngs,4,Ulrik Lyngs,www.ulriklyngs.com +vanderlindenma,1,Martin Van der Linden, +waltersom,1,Walter Somerville, wibeasley,2,Will Beasley,http://scholar.google.com/citations?user=ffsJTC0AAAAJ&hl=en -yahwes,3,NA,yahwes.github.io -yihui,3,Yihui Xie,https://yihui.name +yihui,4,Yihui Xie,https://yihui.name yimingli,3,Yiming (Paul) Li,https://yimingli.net yutannihilation,1,Hiroaki Yutani,https://twitter.com/yutannihilation -zeal626,1,NA, -zo0z,1,Azza Ahmed, +yuyu-aung,1,Yu Yu Aung, +zachbogart,1,Zach Bogart,zachbogart.com +zeal626,1,NA,NA +zekiakyol,4,Zeki Akyol,zekiakyol.com diff --git a/index.qmd b/index.qmd index ef3888a..0de123a 100644 --- a/index.qmd +++ b/index.qmd @@ -1,37 +1,21 @@ # Welcome {.unnumbered} This is the website for the work-in-progress 2nd edition of **"R for Data Science"**. -This book will teach you how to do data science with R: You'll learn how to get your data into R, get it into the most useful structure, transform it, visualise it and model it. - In this book, you will find a practicum of skills for data science. +This book will teach you how to do data science with R: You'll learn how to get your data into R, get it into the most useful structure, transform it and visualize. + +In this book, you will find a practicum of skills for data science. Just as a chemist learns how to clean test tubes and stock a lab, you'll learn how to clean data and draw plots---and many other things besides. These are the skills that allow data science to happen, and here you will find the best practices for doing each of these things with R. You'll learn how to use the grammar of graphics, literate programming, and reproducible research to save time. -You'll also learn how to manage cognitive resources to facilitate discoveries when wrangling, visualising, and exploring data. +You'll also learn how to manage cognitive resources to facilitate discoveries when wrangling, visualizing, and exploring data. -This website is (and will always be) **free to use**, and is licensed under the [Creative Commons Attribution-NonCommercial-NoDerivs 3.0](http://creativecommons.org/licenses/by-nc-nd/3.0/us/) License. -If you'd like a **physical copy** of the book, you can order it from [amazon](http://amzn.to/2aHLAQ1); it was published by O'Reilly in January 2017. -If you'd like to **give back** please make a donation to [Kākāpō Recovery](https://www.doc.govt.nz/kakapo-donate): the [kākāpō](https://www.youtube.com/watch?v=9T1vfsHYiKY) (which appears on the cover of R4DS) is a critically endangered native NZ parrot; there are only 199 left. +This website is and will always be free, licensed under the [CC BY-NC-ND 3.0](http://creativecommons.org/licenses/by-nc-nd/3.0/us/) License. +If you'd like a physical copy of the book, you can order the 1st edition on [Amazon](http://amzn.to/2aHLAQ1), or wait until mid-2023 for the 2nd edition. +If appreciate reading the book for free and would like to give back please make a donation to [Kākāpō Recovery](https://www.doc.govt.nz/kakapo-donate): the [kākāpō](https://www.youtube.com/watch?v=9T1vfsHYiKY) (which appears on the cover of R4DS) is a critically endangered native NZ parrot; there are only 252 left. Please note that R4DS uses a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this book, you agree to abide by its terms. ## Acknowledgements {.unnumbered} -```{r} -#| results: "asis" -#| echo: false -#| message: false - -library(dplyr) -contributors <- readr::read_csv("contributors.csv", col_types = list()) -contributors <- contributors |> - mutate( - link = glue::glue("[\\@{login}](https://github.com/{login})"), - desc = ifelse(is.na(name), link, glue::glue("{name} ({link})")) - ) - -cat("R4DS is a collaborative effort and many people have contributed fixes and improvements via pull request: ") -cat(paste0(contributors$desc, collapse = ", ")) -``` - R4DS is hosted by as part of their support of open source software and communities. diff --git a/intro.qmd b/intro.qmd index d3eb69d..1d95926 100644 --- a/intro.qmd +++ b/intro.qmd @@ -274,31 +274,68 @@ This book was written in the open, and many people contributed pull requests to Special thanks goes to everyone who contributed via GitHub: ```{r} -#| results: "asis" +#| eval: false +#| echo: false + +library(tidyverse) +contribs_all_json <- gh::gh("/repos/:owner/:repo/contributors", + owner = "hadley", + repo = "r4ds", + .limit = Inf +) +contribs_all <- tibble( + login = contribs_all_json %>% map_chr("login"), + n = contribs_all_json %>% map_int("contributions") +) + +contribs_old <- read_csv("contributors.csv", col_types = list()) +contribs_new <- contribs_all %>% anti_join(contribs_old, by = "login") + +# Get info for new contributors +needed_json <- map( + contribs_new$login, + ~ gh::gh("/users/:username", username = .x), + .progress = TRUE +) +info_new <- tibble( + login = contribs_new$login, + name = map_chr(needed_json, "name", .default = NA), + blog = map_chr(needed_json, "blog", .default = NA) +) +info_old <- contribs_old %>% select(login, name, blog) +info_all <- bind_rows(info_old, info_new) + +contribs_all <- contribs_all %>% + left_join(info_all, by = "login") %>% + arrange(login) +write_csv(contribs_all, "contributors.csv") +``` + +```{r} +#| results: asis #| echo: false #| message: false library(dplyr) -# git --no-pager shortlog -ns > contribs.txt -contribs <- readr::read_tsv("contribs.txt", col_names = c("n", "name")) +contributors <- readr::read_csv("contributors.csv") +contributors <- contributors %>% + filter(!login %in% c("hadley", "garrettgman", "mine-cetinkaya-rundel")) %>% + mutate( + login = paste0("\\@", login), + desc = ifelse(is.na(name), login, paste0(name, " (", login, ")")) + ) -contribs <- contribs |> - filter(!name %in% c("hadley", "Garrett", "Hadley Wickham", - "Garrett Grolemund", "Mine Cetinkaya-Rundel")) |> - arrange(name) |> - mutate(uname = ifelse(!grepl(" ", name), paste0("\\@", name), name)) - -cat("Thanks go to all contributers in alphabetical order: ") -cat(paste0(contribs$uname, collapse = ", ")) +cat("A big thank you to all ", nrow(contributors), " people who contributed specific improvements via GitHub pull requests (in alphabetical order by username): ", sep = "") +cat(paste0(contributors$desc, collapse = ", ")) cat(".\n") ``` ## Colophon -An online version of this book is available at [https://r4ds.had.co.nz](https://r4ds.hadley.nz){.uri}. +An online version of this book is available at . It will continue to evolve in between reprints of the physical book. The source of the book is available at . -The book is powered by which makes it easy to turn R Markdown files into HTML, PDF, and EPUB. +The book is powered by [Quarto](https://quarto.org) which makes it easy to write books that combine text and executable code. This book was built with: