İdman Statistikası üçün R -dən Necə istifadə olunur, 1 -ci hissə: Mütləq əsaslar

İdman statistikası ilə məşğul olmaq üçün kifayət qədər vaxt sərf etmisinizsə, aşağıdakı iki şeyin baş vermə ehtimalı yüksəkdir:

  1. Yəqin ki, Excel -dən başlamısınız, çünki Excel çox şeyi çox asanlıqla edir və hər kəsin Microsoft Office -i var.
  2. Bir anda statistik analiz aparmaq üçün Excel -dən istifadə etdiyinizi söylədiniz və "Oh, bu çox yaxşıdır, amma həqiqətən R -dən istifadə etməlisiniz" cavabını aldınız.

Nəzakət məsələləri bir yana, bəlkə də haqlı olarlar.

R, xüsusən tədqiqat və akademiyada məlumatların təhlili və vizualizasiyası üçün çox istifadə olunan bir proqramlaşdırma dili və proqram platformasıdır. Bir proqramlaşdırma dili olduğu üçün öyrənmə əyrisi Excel kimi bir şeyə nisbətən bir qədər dikdir - ancaq onu araşdırsanız, R -nin daha geniş çeşidli vəzifələri daha sürətli yerinə yetirməyə imkan verdiyini görəcəksiniz. Yalnız bir neçə kod xətti ilə maraqlı anlayışlar əldə etmək istəyirsinizsə, böyük məlumat dəstləri ilə asanlıqla işləmək istəyirsinizsə və ya insanlara məlum olan hər hansı bir statistik testdən istifadə etmək istəyirsinizsə, bir göz atmalısınız. at R.

Ayrıca, R həm "açıq mənbə" də, həm də "pul xərcləməyən" kimi tamamilə pulsuzdur. Yəni gözəldir.

Bu seriyada, xüsusən beysbol, idman məlumatlarını araşdırmaq məqsədi ilə R -də işləməyin əsaslarını öyrənəcəyik. Kodlaşdırma və ya proqramlaşdırma mövzusunda heç bir məlumatınız olmadığını düşünürəm, amma işləri davam etdirmək üçün təfərrüatlara çox qarışmamağa çalışacağam (məsələn, "=" "==" dan fərqli bir şey necə edir) ) tamamilə lazım olmadıqda. Bu təlimat Windows 7 -də R istifadə edərək hazırlanmışdır, lakin istifadə etdiyiniz OS -də hər şeyin əksəriyyəti eyni olmalıdır.

Tamam, bunu edək.

Başlanğıc

Bir neçə linki vurmalısınız ('əsas' yükləməsini istəyirsiniz) və əslində R qurmalısınız, ancaq bunu etdikdən sonra belə bir ekrana sahib olmalısınız:

"R konsolu", kodunuzun tezliklə işləyəcəyi yerdir, amma əvvəlcə bəzi məlumatlara ehtiyacımız var. 2013 və 2014 -cü illərdə MLB meyilli olmaq üçün FanGraphs -un standart tablosu məlumatlarını götürək. "FGdat.csv" kimi qısa bir şey kimi qeyd edin. (Xüsusi bir FG tablosuna sahibsinizsə və ya sadəcə qısa yol əldə etmək istəyirsinizsə, burada istifadə edəcəyimiz məlumatları yükləyə bilərsiniz.)

R -də, əsasən şeyləri gerçəkləşdirən funksiyalara (deyək ki, funksiyaya (arg1, arg2) bənzəyən) diqqət yetirəcəyikvə bu funksiyaların çıxışını daha sonra ona istinad edə biləcəyik. Məsələn, bir R kodu xətti belə görünə bilər:

Buradakı funksiya, əsasən "bu CSV faylını R -yə oxumaq" mənasını verən read.csv () funksiyasını yerinə yetirir və içindəki arqument oxumaq istədiyimiz fayldır. Sol hissə (fgdata =), oxuduğumuz məlumatları götürüb "fgdata" adlandırmaq istədiyimizi söyləyir.

Bu, əslində, məlumatlarımızı yükləmək üçün R -də işlətmək istədiyimiz ilk sətirdir, buna görə yazın/yapışdırın və icra etmək üçün Enter düyməsini basın.

('FGdat.csv' faylını aça bilməmək kimi bir səhv ala bilərsiniz: Belə bir fayl və ya qovluq yoxdur; bunu etsəniz, çox güman ki, R -nin faylları oxumağa çalışdığı qovluğu dəyişdirməlisiniz. "Fayl" ->"bölməsinə keçin. Dir dəyişdirin "və işçi qovluğunu CSV -ni saxladığınız qovluğa dəyişdirin və ya sadəcə CSV -ni işçi qovluğu olaraq qeyd etdiyi R qovluğuna köçürün.)

Səhv almamısınızsa və R sadəcə növbəti sətrə keçirsə, getməyiniz yaxşı olar!

Əsas Statistikalar

Rəhbəri ()funksiyası məlumatların ilk 6 satır qaytarır; Məlumat dəstimiz "fgdata" adlandırıldığı üçün bunu kod xətti ilə sınaya bilərik:

Və bütün məlumat toplusuna əsas bir baxış əldə etmək üçün Summary ()funksiyası var:

Görmək! Onsuz da 20 dəyişənlə bağlı məlumatlar bir göz qırpımında.

"1 -ci Qu." və "3 -cü Qu." birinci və üçüncü dördlüklərdir; orta, orta, minimum və maksimum özünü izah etməlidir. Beləliklə, bu məlumat dəstindəki ortalama oyunçunun, əsasən Alex Gordon -un 2014 -dən çox da uzaq olmayan 146 oyunda 17 dinger və 10 oğurlama ilə təxminən .270 ortalaması olduğunu görə bilərik.

2013 və 2014 -cü illərin statistikasını necə müqayisə etdiyinizi müqayisə etmək istəyirsiniz? R, məlumat alt hissələrini seçməyi olduqca asanlaşdırır. Buna ağlabatan olaraq "alt dəst" funksiyası deyilir və daxil etməyiniz lazım olan hər şey, bir alt dəsti aldığınız məlumat dəsti və alt dəst məlumatlarının uyğun olması lazım olan meyarlardır.

Cədvəldə bir sahə olaraq "Mövsüm" olduğu üçün, 2013 oyunçularını əldə etmək üçün "Mövsüm ==" 2013 ", 2014 oyunçularını əldə etmək üçün" Mövsüm == "2014" "demək lazımdır. Bu yeni məlumat qruplarına 'fg13' və 'fg14' adını verəcəyik:

Sürətli bir yoxlama, bəli, məlumatların düzgün bir şəkildə alt -üst edildiyini təsdiqləməlidir:

>xülasə (fg13)

və indi 2013 və 2014 -cü illər arasındakı ortalama BABIP -ləri müqayisə etmək kimi bir neçə əsas statistik müqayisə edə bilərik. (Məlumat toplusunda müəyyən bir sütunu ayırmaq üçün $ simvolundan istifadə edin.)

Siz statistik əsas nə testlər kimi- edə bilərsiniz SD ()standart sapma, və üçün Cetera və siz kimi nə meyarlar əsasında məlumatların müxtəlif alt çıxarmaq. Beləliklə, 20 -dən çox evdə qaçan bütün oyunçular üçün "HR>20" və ya Mike Trout adlı bütün oyunçular haqqında məlumat əldə etmək üçün "Oyunçu ==" Mike Trout ":

Nəhayət, məlumatlarınızı R -də yenidən düzəltmək çox yaygın deyil, ancaq bunu etsəniz, bunu order ()funksiyası ilə edə bilərsiniz . Bu xətt, məlumatları artan sırada wRC+ilə sıralayır:

sonra ilk 10 sıranı qaytarır:

Sütunun önünə eksi işarəsi qoyaraq azalan sıraya görə sıralaya bilərsiniz:

Və ehtimal etdiyiniz kimi, bu funksiyaların əksəriyyəti istifadə etdiyiniz fərqli arqumentlərə görə dəyişdirilə və ya genişləndirilə bilər - məsələn, 6 yerinə 10 sətrə baxmaq üçün head ()ə "n = 10" əlavə edin . R haqqında daha maraqlı və hirsləndirici şeylər, demək olar ki, hər bir funksiyanın buna bənzəməsidir - amma heç olmasa hamısı sənədləşdirilmişdir!

Və əlbəttə ki, bir funksiya vasitəsilə sənədlərə daxil ola bilərsiniz. Help ()( yardım (baş), yardım (xülasə)və s.) İstifadə edin və bir səhifə arqumentlərlə və ehtimal ki, istədiyinizdən daha çox əlavə məlumatla açılacaqdır.

Yekunlaşdırma

Son bir qeyd: kodu birbaşa konsola yazmaq yaxşıdır, ancaq bir və ya iki sətirdən çox yazmaq istəsəniz bir az əsəbiləşir. Bunun əvəzinə, skriptləri yükləmək, redaktə etmək və işə salmaq üçün R daxilində yeni bir pəncərə yarada bilərsiniz. Windows -da yeni bir skript pəncərəsi açmaq üçün "Ctrl+N" düymələrindən istifadə edin. Bir kod yazın; İşlətmək üçün işlətmək istədiyiniz sətirləri seçin və "Ctrl+R" düymələrini vurun.

R skriptinizi R sənədlərində saxlamaq üçün bu pəncərələrdən də istifadə edə bilərsiniz - bu yazıda istifadə etdiyim bütün kodları burada etdiyim kimi. Yükləməkdən çəkinməyin və ləkələməyə başlayın.

Yəni R -nin əsasları bunlardır; potensialını həqiqətən göstərmək üçün deyil, istədiyiniz kimi sınamağa və araşdırmağa başlamaq üçün kifayətdir. 2 -ci hissə üçün bəzi məlumat qurma və korrelyasiya testlərinə başlayacağıq və 3 -cü hissədə bəzi əsas beysbol proyeksiya modellərini yenidən yaratmağa çalışacağıq. Əslində bunu əvvəllər R -də etməmişəm, buna görə maraqlı olmalıdır. İzləmədə qalın!

(Bu məqaləni sınamağa kömək etdiyi üçün Jim Hohmanna təşəkkür edirəm.)

Brice, dilçilik və kosmik tədqiqat təşkilatları üçün ünsiyyət qurduğu Vaşinqtonda yaşayır. Brice daha əvvəl Ars Technica, Discovery News və Winston-Salem Journal üçün yazıb. Twitterdə @KilroyWasHere var.