Hjem Personlig finansiering 10 Ting du kan gøre i R, som du ville have gjort i Microsoft Excel - dummies

10 Ting du kan gøre i R, som du ville have gjort i Microsoft Excel - dummies

Indholdsfortegnelse:

Video: I FOUND an OCEAN TEMPLE in Minecraft! (epic) - Part 11 2024

Video: I FOUND an OCEAN TEMPLE in Minecraft! (epic) - Part 11 2024
Anonim

Regnearket er nok et af de mest anvendte pc-applikationer - og med god grund: Regneark gør det meget nemt at udføre beregninger og andre operationer på tabel data. Men regneark udgør også nogle risici: De er nemme at korrupte og meget vanskelige at debugere. Den gode nyhed er, at du kan bruge R til at lave mange af de samme ting, du plejede at gøre i regneark.

Tilføjelse af række og kolonne totaler

En opgave, som du ofte gør i et regneark, beregner række eller kolonne totaler. Den nemmeste måde at gøre dette på er at bruge funktionerne rowSums () og colSums (). På samme måde skal du bruge rowMeans () og colMeans () til at beregne midler.

Prøv det på den indbyggede datasæt iris. Fjern først den femte kolonne, fordi den indeholder tekst, der beskriver arten af ​​iris: >> iris. num <- iris [-5]

Beregn derefter summen og middelværdien for hver kolonne:

>> colSums (iris. Num)> colMeans (iris. Num)

Disse to funktioner er meget praktiske, men du vil måske beregne en anden statistik for hver kolonne eller række. Der er en nem måde at krydse rækker eller kolonner på i en matrix eller dataramme: funktionen () (). Hvis du f.eks. Får mindst en kolonne, er det samme som at anvende en min () -funktion til den anden dimension af dine data: >> Anvend (iris nr, 2, min)> anvend (iris nr. 2, max)
Formateringsnumre

Du kan bruge format () til at slå dine tal til smuk tekst, klar til udskrivning. Denne funktion tager en række argumenter til at kontrollere formatet af dit resultat. Her er et par:

trim

:

En logisk værdi. Hvis det er FALSK, tilføjer det mellemrum til højre - retfærdiggør resultatet. Hvis det er sandt, undertrykker det de førende rum.

  • cifre : Hvor mange signifikante cifre af numeriske værdier, der skal vises.

  • nsmall : Mindste antal cifre efter decimaltegnet.

  • Desuden styrer du formatet for decimaltegnet med decimaltal. markér markeringen mellem intervaller før decimaltegnet med stort. mærke og mærket mellem intervaller

efter decimaltegnet med lille. mærke. Du kan f.eks. Udskrive nummeret 12345. 6789 med et komma som decimaltal, mellemrum som det store mærke og prikker som det lille mærke: >> format (12345, 6789, cifre = 9, decimaltegnet. mark = ",", + stor. mark = "", lille.mark = ".", lille.interval = 3) [1] "12 345, 678. 9" Som mere praktisk eksempel midlerne til nogle kolonner i mtcars og derefter udskrive resultaterne med to cifre efter decimaltegnet, brug følgende: >> x format (x, cifre = 2, nsmall = 2) mpg cyl disp hp "20.09 "" 6. 19 "" 230. 72 "" 146. 69 " Bemærk, at resultatet ikke længere er et nummer, men en tekststreng. Så vær forsigtig, når du bruger nummerformatering - dette skal være det sidste trin i din rapporterings arbejdsgang.

Hvis du er bekendt med programmering på sprog svarende til C eller C ++, kan du også finde funktionen sprintf () nyttig. Denne indpakning giver dig mulighed for at indsætte dit formaterede nummer direkte i en streng.

Her er et eksempel på at konvertere tal til procentdele: >> x sprintf ("%. 1f %%", 100 * x) [1] "50. 0% "" 51. 0% "" 52. 0% "" 53. 0% "" 54. 0% "" 55. 0% "

Dette er hvad det gør: Det første argument til sprintf () angiver formatet - i dette tilfælde"%. 1f %% ". Format argumentet bruger specielle bogstaver, der angiver, at funktionen skal erstatte denne bogstav med en variabel og anvende nogle formateringer. Bogstaverne begynder altid med% symbolet. Så i dette tilfælde%. 1f betyder at formatere den første tilførte værdi som et fast punktværdi med et ciffer efter decimaltegnet, og %% er en bogstav, som betyder udskrivning a%.

For at formatere nogle tal som valuta - i dette tilfælde US dollars - brug: >> sæt. frø (1)> x sprintf ("$% 3. 2f", x) [1] "$ 265. 51" "$ 372. 12" "$ 572. 85" "$ 908. 21" "$ 201. 68 "

Funktionen sprintf () giver dig en alternativ måde at indsætte værdien af ​​en variabel i en streng: >> tingpris sprintf ("% s cost $% 3. 2f ", ting, pris) [1] "Brød koster $ 2. 10" "cookies koster $ 4. 00"

Hvad der sker her er, fordi du har leveret to vektorer (hver med to elementer) til sprintf (), er dit resultat en vektor med to elementer. R cykler gennem elementerne og placerer dem i sprintf () bogstaverne.

Du kan gøre alt med pasta () og format (), som du kan gøre med sprintf (), så du behøver ikke rigtig brug for det. Men når du gør det, kan det forenkle din kode.

Sortering af data

For at sortere data i R, bruger du funktionen sort () eller ordre ().

For at sortere datarammen mtcars i stigende eller faldende rækkefølge af kolonnen hp, brug: >> med (mtcars, mtcars [order (hp),))> med (mtcars, mtcars [rækkefølge = TRUE),])

Valg af, hvis

Regneark giver dig mulighed for at udføre alle slags "Hvad hvis? "Analyserer. En måde at gøre dette på er at bruge funktionen if () i et regneark.

R har også if () -funktionen, men det bruges mest til strømstyring i dine scripts. Fordi du typisk vil udføre en beregning på en hel vektor i R, er det normalt mere hensigtsmæssigt at bruge funktionen ifelse ().

Her er et eksempel på at bruge ifelse () til at identificere biler med høj brændstofeffektivitet i datasættet mtcars: >> mtcars <- transform (mtcars, + mpgClass = ifelse (mpg mtcars [mtcars $ mpgClass == "High",]

Beregning af betingede totaler

Noget andet, du sandsynligvis gjorde meget i Excel, beregner betingede summer og tæller med funktioner sumif () og countif ().

Du kan gøre det samme i et af to måder i R:

Brug ifelse.

Beregn blot målingen af ​​interesse på en delmængde af dine data.

Sig, du vil beregne et betinget gennemsnit af brændstofeffektivitet i mtcars. Du gør dette med den gennemsnitlige () funktion. For at få brændstofeffektiviteten for biler på hver side af en tærskel på 150 hestekræfter, prøv følgende: >> med (mtcars, mean (mpg)) [1] 20. 09062> med (mtcars, mean (mpg [hp med (mtcars, mean (mpg [hp> = 150])) [1] 15. 40667

Tæller antallet af elementer i en vektor er det samme som spørger om dets længde. Dette betyder, at Excel-funktionstællingen) har en R ækvivalent i længden (): >> med (mtcars, længde (mpg [hp> 150])) [1] 13

Gennemsætning af kolonner eller rækker

Nogle gange skal du transponere dine data fra rækker til kolonner eller omvendt. I R er funktionen til at transponere en matrix t (): >> xx [1] [2] [3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12

For at få transponeringen af ​​en matrix, brug t (): >> t (x) [1] [2] [3] [4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3,] 9 10 11 12

Du kan også bruge t () til at transponere datarammer, men pas på, når du Gør dette. Resultatet af en transposition er altid en matrix (eller array). Da arrayer altid kun har en type af variabel, som f.eks. numerisk eller tegn, er de variable typer af dine resultater muligvis ikke det, du forventer.

Find unikke eller duplikerede værdier

For at identificere alle de unikke værdier i dine data skal du bruge den unikke () funktion. Prøv at finde de unikke værdier for antallet af cylindre i mtcars: >> unik (mtcars $ cyl) [1] 6 4 8

  • Nogle gange vil du vide, hvilke værdier af dine data der er duplikater. Afhængigt af din situation vil disse duplikater være gyldige, men nogle gange kan duplikatposter angive dataindtastningsproblemer.

  • Funktionen til at identificere gentagne indgange duplikeres (). I den indbyggede datasæt iris er der en dublet række i linje 143. Prøv det selv: >> dupes hoved (dupes) [1] FALSK FALSK FALSK FALSK FALSK FALSE> hvilken (dupes) [1] 143> iris [dupes,] Sepal. Længde Sepal. Bredde kronblad. Længde kronblad. Breddearter 143 5. 8 2. 7 5. 1 1. 9 virginica

Da resultatet af dupliceret () er en logisk vektor, kan du bruge den som et indeks til at fjerne rækker fra dine data. For at gøre dette skal du bruge negation operatøren - udråbstegn (som i! Dupes): >> iris [! Dupes,]> nrow (iris [! dupes,]) [1] 149

Arbejde med opslagstabeller

I et regnearksprogram som Excel kan du oprette opslagstabeller med funktionerne eller en kombination af indeks og match.

I R kan det være praktisk at bruge flette () eller match (). Funktionen match () returnerer en vektor med placeringen af ​​elementer, der matcher din opslagsværdi.

For at finde placeringen af ​​elementet "Toyota Corolla" i rækken navne på MTV'er, prøv følgende: >> indeksindeks [1] 20> mtcars [indeks, 1: 4] mpg cyl disp hp Toyota Corolla 33. 9 4 71. 1 65

Arbejde med pivottabeller

For enkle tabeller i R kan du bruge funktionen tapply () til at opnå lignende resultater som pivottabeller i Excel.Her er et eksempel på at bruge tapply () til at beregne gennemsnitlige hk for biler med forskellige antal cylindre og gear: >> med (mtcars, tapply (hp, liste (cyl, gear), gennemsnit)) 3 4 5 4 97. 0000 76. 0 102. 0 6 107. 5000 116. 5 175. 0 8 194. 1667 NA 299. 5

For lidt mere komplekse tabeller - det vil sige tabeller med mere end to krydsklassificerende faktorer - brug aggregatet () funktion: >> aggregat (hk ~ cyl + gear + am, mtcars, middel) cyl gear am hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000

Brug af målsøgningen og løsningen

I R giver funktionen optimere () en ret simpel mekanisme til optimering af funktioner.

Forestil dig at du er salgsdirektør for et firma, og du skal fastsætte den bedste pris for dit produkt. Med andre ord, find prisen på et produkt, der maksimerer indtægterne.

I økonomi hedder en simpel prismodel, at folk køber mindre af et givet produkt, når prisen stiger. Her er en meget enkel funktion, der har denne adfærd: >> salg <- funktion (pris) {100 - 0. 5 * pris}

Forventede indtægter er så simpelthen produktet af pris og forventet salg: >> omsætning <- funktion (pris) {pris * salg (pris)}

Du kan bruge kurven () til at plotte kontinuerlige funktioner. Dette tager en funktion som input og producerer et plot. Prøv at plotte opførelsen af ​​salg og indtægter ved hjælp af kurven () funktionen, varierende pris fra $ 50 til $ 150: >> oldpar kurve (salg, fra = 50 til 150, xname = "pris", hoved = "salg ")> Kurve (indtjening, fra = 50 til 150, xname =" pris ", hoved =" indtjening ")> par (oldpar)

Dine resultater skal se ud som dette.

En model af forventet salg og omsætning.

Du har en arbejdsmodel med salg og indtægter. Du kan straks se, at der er et punkt med maksimal indtjening. Brug derefter R-funktionen til at optimere () for at finde værdien af ​​dette maksimum. For at bruge optimere () skal du fortælle hvilken funktion der skal bruges (i dette tilfælde indtægter ()) samt intervallet (i dette tilfælde priser mellem 50 og 150). Som standard optimerer () søgninger efter en minimumsværdi, så i dette tilfælde skal du fortælle om at søge efter maksimumsværdi: >> optimer (indtægt, interval = c (50, 150), maksimum = SAND) $ maksimum [1] 100 $ mål [1] 5000

Og der går du. Oplad en pris på $ 100, og forvent at få $ 5, 000 i omsætning.
10 Ting du kan gøre i R, som du ville have gjort i Microsoft Excel - dummies

Valg af editor

Hvad er Array Formulas i Excel 2013? - dummies

Hvad er Array Formulas i Excel 2013? - dummies

En matrixformel i Excel 2013 (og andre regneark) er en speciel formel, der opererer på en række værdier. Hvis et celleområde leverer dette interval (som det ofte er tilfældet), betegnes det som et arrayinterval. Hvis denne rækkevidde leveres af en liste over numeriske værdier, er de kendt som ...

Ved hjælp af regnearkfunktioner til statistisk analyse i Excel 2016 - dummies

Ved hjælp af regnearkfunktioner til statistisk analyse i Excel 2016 - dummies

Excel 2016b har en række funktioner til Statistisk analyse. Funktionsbiblioteket på fanen Formler viser alle kategorier af Excel-regnearkfunktioner. Trinene i at bruge et regneark funktion er Skriv dine data i et datarray og vælg en celle for resultatet. Vælg den relevante formelskategori og vælg en ...

Hvad er nyt i Excel 2016 til statistisk analyse? - dummies

Hvad er nyt i Excel 2016 til statistisk analyse? - dummies

Microsoft har lavet nogle få ændringer i Excel's Ribbon (fanebåndet øverst), hvilket afspejler ændringer i Excel. Den mest oplagte tilføjelse er pæren øverst til højre for tilføjelser. Det er mærket "Fortæl mig hvad du vil gøre. "Dette kaldes Tell Me-boksen, og det er nyt ...

Valg af editor

Sådan postes på en vens Facebook-tidslinje - dummies

Sådan postes på en vens Facebook-tidslinje - dummies

Dit nyhedsfeed trækker indlæg, som dine Facebook-venner lav på et sted, så du kan læse dem alle på én gang. Men nogle gange vil du læse alt om kun en person. Heldigvis er alle deres indlæg blevet samlet på deres tidslinjer. Tidslinjen er ligesom en nyhedsfeed alt om en person. ...

Sådan sender du en Facebook-begivenhed - dummies

Sådan sender du en Facebook-begivenhed - dummies

Den første måde du sikkert finder ud af om Facebook begivenheden er gennem en anmeldelse. Når en ven inviterer dig til en begivenhed, vises et lille rødt flag over meddelelsesikonet i den store blå bar øverst. Klik på ikonet for at åbne din underretningsmenu; Klik derefter på den invitation, der skal tages ...

Hvordan man kan se de billeder du er på Facebook - dummies

Hvordan man kan se de billeder du er på Facebook - dummies

Hvis du har meget af Facebook venner, du er sandsynligvis i et ton af fotos. Du kan se de billeder, du er i, uden at skulle gå hele Facebook, så længe du er mærket i dem. Måske har du tagget dem selv, eller dine venner har måske tagget dig. Det første sted du ...

Valg af editor

Digital SLR-fotografi Alt-i-One til Dummies Cheat Sheet - dummies

Digital SLR-fotografi Alt-i-One til Dummies Cheat Sheet - dummies

Hvis du 'er interesseret i fotografering, du finder ingen bedre enhed end en digital spejlreflekskamera (eller dSLR). Uanset om du er amatør eller professionel, kan du finde en dSLR, der passer til dine behov. Du kan virkelig ikke slå kombinationen af ​​magt, fleksibilitet, vækstpotentiale og "accessorize-ability" af en dSLR. Med oplysningerne i denne ...

Hvordan man tager gebyr som bryllupsfotograf - dummier

Hvordan man tager gebyr som bryllupsfotograf - dummier

Som bryllupsfotograf, dit job er at hjælpe De formelle portrætter flyder så jævnt som muligt. Du kan lægge meget af grunden i månederne før den faktiske bryllupsdato som du kommunikerer med parret. Hvis du gør dine lektier, kan du fokusere på at holde portræt sessioner organiseret og opretholde kontrol ...