Hjem Personlig finansiering 10 Ting du kan gjøre i R som du ville ha gjort i Microsoft Excel - dummies

10 Ting du kan gjøre i R som du ville ha gjort i Microsoft Excel - dummies

Innholdsfortegnelse:

Video: Top 10 Excel New Features 2024

Video: Top 10 Excel New Features 2024
Anonim

Regnearket er trolig en av de mest brukte PC-applikasjonene - og med god grunn: Regneark gjør det veldig enkelt å utføre beregninger og andre operasjoner på tabell data. Men regneark gir også noen risiko: De er lett å korrupte og svært vanskelig å feilsøke. Den gode nyheten er at du kan bruke R til å gjøre mange av de samme tingene du pleide å gjøre i regneark.

Legge til rad og kolonne totals

En oppgave som du ofte gjør i et regneark, er å beregne rad eller kolonne totalsum. Den enkleste måten å gjøre dette på er å bruke funksjonene rowSums () og colSums (). På samme måte bruker du rowMeans () og colMeans () for å beregne midler.

Prøv det på den innebygde datasettet iris. Fjern først den femte kolonnen fordi den inneholder tekst som beskriver arten av iris: >> iris. num <- iris [-5]

Beregn deretter summen og gjennomsnittet for hver kolonne:

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

Disse to funksjonene er veldig praktiske, men du vil kanskje regne ut noen annen statistikk for hver kolonne eller rad. Det er en enkel måte å krysse på rader eller kolonner i en matrise eller dataramme: funksjonen () (). For eksempel, å få minst en kolonne, er det samme som å bruke min () -funksjonen til den andre dimensjonen av dataene dine: >> gjelder (iris nr, 2, min)> søk (iris nr, 2, maks)
Formateringsnumre

Du kan bruke formatet () for å slå tallene i pen tekst, klar til utskrift. Denne funksjonen tar en rekke argumenter for å kontrollere formatet på resultatet. Her er noen:

trim

:

En logisk verdi. Hvis det er feil, legger det mellomrom til høyre - rettferdiggjør resultatet. Hvis det er SANT, undertrykker det de ledende områdene.

  • siffer : Hvor mange signifikante tall for numeriske verdier som skal vises.

  • nsmall : Minste antall sifre etter desimaltegnet.

  • I tillegg styrer du formatet av desimaltegnet med desimal. Merk, merket mellom intervaller før desimalpunktet med stor. Merk, og merket mellom intervaller

etter desimalpunktet med liten. merke. Du kan for eksempel skrive ut nummeret 12345. 6789 med et komma som desimaltegn, mellomrom som det store merket og prikkene som det lille merket: >> format (12345, 6789, siffer = 9, desimal. mark = ",", + stor. mark = "", lite.mark = ".", lite.intervall = 3) [1] "12 345, 678. 9" Som et mer praktisk eksempel, hjelp av noen kolonner i mtcars, og skriv deretter ut resultatene med to sifre etter desimaltegnet, bruk følgende: >> x format (x, siffer = 2, nsmall = 2) mpg cyl disp hp "20.09 "" 6. 19 "" 230. 72 "" 146. 69 " Merk at resultatet ikke lenger er et nummer, men en tekststreng. Så vær forsiktig når du bruker nummerformatering - dette bør være det siste trinnet i rapporterings arbeidsflyten din.

Hvis du er kjent med programmering på språk som ligner på C eller C ++, kan du også finne sprintf () -funksjonen nyttig. Denne innpakningen lar deg lime inn formatert nummer direkte inn i en streng.

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

Dette er hva det gjør: Det første argumentet til sprintf () indikerer formatet - i dette tilfellet"%. 1f %% ". Formatargumentet bruker spesielle bokstaver som indikerer at funksjonen skal erstatte denne bokstavelig med en variabel og bruke noen formatering. Bokstavene starter alltid med% symbolet. Så, i dette tilfellet%. 1f betyr å formatere den første tilførte verdien som en fastpunktsverdi med ett siffer etter desimaltegnet, og %% er en bokstav som betyr utskrift a%.

For å formatere noen tall som valuta - i dette tilfellet, US dollar - bruk: >> sett. frø (1)> x sprintf ("$% 3. 2f", x) [1] "$ 265. 51" "$ 372. 12" "$ 572. 85" "$ 908. 21" "$ 201. 68 "

Funksjonen sprintf () gir deg en alternativ måte å lime inn verdien av en variabel i en streng: >> tingpris sprintf ("% s kostnad $% 3. 2f ", ting, pris) [1] "Brød koster $ 2. 10" "informasjonskapsler koster $ 4. 00"

Hva skjer her, fordi du har levert to vektorer (hver med to elementer) til sprintf (), er resultatet ditt en vektor med to elementer. R sykler gjennom elementene og plasserer dem i sprintf () bokstavene.

Du kan gjøre alt med lim () og format () som du kan gjøre med sprintf (), slik at du ikke virkelig trenger å bruke den. Men når du gjør det, kan det forenkle koden din.

Sortering av data

For å sortere data i R, bruker du funksjonene sort () eller rekkefølge ().

For å sortere datarammermtcars i stigende eller synkende rekkefølge av kolonnehp, bruk: >> med (mtcars, mtcars [order (hp),))> med (mtcars, mtcars [rekkefølge = TRUE),])

Gjør valg med om

Regneark gir deg muligheten til å utføre alle slags "Hva om? "Analyserer. En måte å gjøre dette på er å bruke if () -funksjonen i et regneark.

R har også if () -funksjonen, men det brukes mest for strømstyring i skriptene dine. Fordi du vanligvis vil utføre en beregning på en hel vektor i R, er det vanligvis mer hensiktsmessig å bruke ifelse () -funksjonen.

Her er et eksempel på bruk av ifelse () for å identifisere biler med høy drivstoffeffektivitet i datasettet mtcars: >> mtcars <- transform (mtcars, + mpgClass = ifelse (mpg mtcars [mtcars $ mpgClass == "High",]

Beregning av betingede totaler

Noe annet som du sikkert gjorde mye i Excel, er å beregne betingede summer og teller med funksjonene sumif () og countif ().

Du kan gjøre det samme i en av to måter i R:

Bruk ifelse.

Beregn bare måleverdien av interesse på en delmengde av dataene dine.

Si at du vil beregne et betinget gjennomsnitt av drivstoffeffektiviteten i mtcars. Du gjør dette med mean () funksjonen. For å få drivstoffeffektiviteten for biler på hver side av en terskel på 150 hestekrefter, 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

Telling av antall elementer i en vektor er det samme som å spørre om lengden. Dette betyr at Excel-funksjonen countif) har en R ekvivalent i lengden (): >> med (mtcars, lengde (mpg [hp> 150])) [1] 13

Overføre kolonner eller rader

Noen ganger må du transponere dataene dine fra rad til kolonner eller omvendt. I R er funksjonen til å transponere en matrise t (): >> xx [1] [2] [3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12

For å få transponeringen av en matrise, bruk 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å bruke t () til å transponere datarammer, men vær forsiktig når du Gjør dette. Resultatet av en transposisjon er alltid en matrise (eller array). Fordi arrays alltid har bare en type av variabel, for eksempel numerisk eller tegn, kan variabeltypene av resultatene ikke være det du forventer.

Finne unike eller dupliserte verdier

For å identifisere alle unike verdiene i dataene dine, bruk unike () -funksjonen. Prøv å finne de unike verdiene for antall sylindere i mtcars: >> unik (mtcars $ cyl) [1] 6 4 8

  • Noen ganger vil du vite hvilke verdier av dataene dine er duplikater. Avhengig av situasjonen din, vil disse duplikatene være gyldige, men noen ganger dupliserte oppføringer kan tyde på datapostproblemer.

  • Funksjonen for å identifisere dupliserte oppføringer er duplisert (). I den innebygde datasettet iris er det en duplisert rad i linje 143. Prøv det selv: >> dupeshodet (dupes) [1] FALSK FALSK FALSK FALSK FALSK FALSE> hvilken (dupes) [1] 143> iris [dupes,] Sepal. Lengde Sepal. Bredd Kronblad. Lengde kronblad. Bredde Arter 143 5. 8 2. 7 5. 1 1. 9 virginica

Fordi resultatet av duplisert () er en logisk vektor, kan du bruke den som en indeks for å fjerne rader fra dataene dine. For å gjøre dette, bruk negasjonsoperatøren - utropstegnet (som i! Dupes): >> iris [! Dupes,]> nrow (iris [! dupes,]) [1] 149

Arbeide med oppslagstabeller

I et regnearksprogram som Excel kan du opprette oppslagstabeller med funksjonene.

I R kan det være praktisk å bruke fusjon () eller kamp (). Kampen () -funksjonen returnerer en vektor med posisjonene til elementene som samsvarer med oppslagsverdien din.

For eksempel, for å finne plasseringen av elementet "Toyota Corolla" i radnavnet på MTV, prøv følgende: >> Indeksindeks [1] 20> Mtcars [Index, 1: 4] mpg cyl disp hp Toyota Corolla 33. 9 4 71. 1 65

Arbeide med pivottabeller

For enkle tabeller i R kan du bruke tapply () -funksjonen til å oppnå lignende resultater som pivottabeller i Excel.Her er et eksempel på bruk av tapply () for å beregne gjennomsnittlig hk for biler med forskjellig antall sylindere og gir: >> med (mtcars, tapply (hp, liste (cyl, gir))) 3 4 5 4 97. 0000 76. 0 102. 0 6 107. 5000 116. 5 175. 0 8 194. 1667 NA 299. 5

For litt mer komplekse tabeller - det vil si tabeller med mer enn to kryssklassifiserende faktorer - bruk aggregatet () -funksjon: >> aggregat (hp ~ syl + gir + am, mtcars, middel) sykkel 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

Bruke Målsøket og løsningen

I R gir optimaliseringen () -funksjonen en ganske enkel mekanisme for optimalisering av funksjoner.

Tenk deg at du er salgsdirektør for et selskap, og du må sette den beste prisen for produktet. Med andre ord, finn prisen på et produkt som maksimerer inntekter.

I økonomi sier en enkel prismodell at folk kjøper mindre av et gitt produkt når prisen øker. Her er en veldig enkel funksjon som har denne oppførselen: >> salg <- funksjon (pris) {100 - 0. 5 * pris}

Forventet inntekt er da bare et produkt av pris og forventet salg: >> inntekter <- funksjon (pris) {pris * salg (pris)}

Du kan bruke kurven () til å plotte kontinuerlige funksjoner. Dette tar en funksjon som inngang og produserer et plott. Prøv å plotte oppførselen til salg og inntekter ved hjelp av kurven () -funksjonen, varierende pris fra $ 50 til $ 150: >> oldpar kurve (salg, fra = 50 til 150, xname = "pris", hoved = "salg ")> Kurve (inntekt, fra = 50 til = 150, xname =" pris ", hoved =" Inntekt ")> par (oldpar)

Dine resultater skal se ut som dette.

En modell av forventet salg og inntekter.

Du har en fungerende modell for salg og inntekter. Du kan se umiddelbart at det er et poeng med maksimal inntekt. Deretter bruker du R-funksjonen til å optimalisere () for å finne verdien av det maksimale. For å bruke optimalisere () må du fortelle hvilken funksjon å bruke (i dette tilfellet inntekter ()), samt intervallet (i dette tilfellet priser mellom 50 og 150). Som standard optimaliserer () søk etter en minimumsverdi, så i dette tilfellet må du fortelle det å søke etter maksimal verdi: >> optimalisere (inntekt, intervall = c (50, 150), maksimum = SANT) $ maksimum [1] 100 $ mål [1] 5000

Og der går du. La en pris på $ 100, og forvent å få $ 5, 000 i inntekter.
10 Ting du kan gjøre i R som du ville ha gjort i Microsoft Excel - dummies

Redaktørens valg

Topp 5 Fantasy Baseball Sites - Dummies

Topp 5 Fantasy Baseball Sites - Dummies

Hvis du er en stor fantasy baseball fan og ser ut til å bli med i verden av online fantasy sport, så se ikke lenger. Følgende liste inneholder de fem beste fantasybaseball-nettstedene i henhold til nettstedslayout, oppdatert statistikk, utenfor råd og hjelp og teamstyringsalternativer.

Hva skal man gjøre som en baseball coach - dummies

Hva skal man gjøre som en baseball coach - dummies

Som en baseball trener, du ikke bare må lede teamet ditt, du må ta med forsyninger for å praktisere. Du vil kanskje øke følgende liste, men den inneholder grunnleggende for å få til alle baseballpraksis: Riktig lager førstehjelpsutstyr Ekstra vann Øvelsesplan for dagen, oppdelt etter tid ...

Får utrustet til å spille baseball - dummies

Får utrustet til å spille baseball - dummies

Når du tar baseballfeltet, bør du ta med det beste utstyret som er tilgjengelig. Du trenger ikke å bruke store summer til å kjøpe toppkvalitets tilbehør så lenge du vet hva du skal se etter og hvor du skal finne den. Med mindre du er under 10 år, kjøp utstyr som oppfyller alle de store ligaspesifikasjonene. ...

Redaktørens valg

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Du kan sikkert ta noen form for ikke-tradisjonell trening og dump det i en tønne merket "mind-body. "Det er greit hvis du foretrekker enkelhet og ikke vil bli innpakket med kategorisering og vurdering. Men du kan også kikke på treningsprogrammer på et dypere nivå, vurdere omfanget av oppmerksomhet i en ...

Hvordan du får mest mulig ut av din meditasjon - dummies

Hvordan du får mest mulig ut av din meditasjon - dummies

For å få mest mulig ut av meditasjonspraksis må forplikte seg til det. Når du begynner å meditere regelmessig, kan du høste utallige fordeler - fra lavere stress og kolesterol til høyere nivåer av tilfredshet og lykke. Her er noen tips for å maksimere meditasjonspraksis: Meditere jevnlig - helst hver dag. Sett bort en ...

Redaktørens valg

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

I Adobe Illustrator CS6 Du kan opprette og redigere kunstverk basert på perspektivgitterfunksjonen (introdusert i CS5). Gitteret er en stor hjelp i å skape vellykkede perspektivillustrasjoner. For å vise eller skjule standardperspektivruten, trykk Ctrl + Shift + I (Windows) eller Kommando + Skift + I (Mac). Du kan bruke verktøyet Perspective Grid på verktøylinjen til å ...

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Ved hjelp av en tekstbrytestil i Adobe Creative Suite 5 (Adobe CS5) Illustrator-prosjektet er en enkel måte å legge til litt kreativitet. En tekstpakke tvinger tekst til å vikle rundt en grafikk.

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Ikke bekymre deg om å fylle lukkede figurer eller la filler flykte fra objekter med hull i uønskede områder. Ved å bruke Live Paint-funksjonen til Adobe Illustrator CS6, kan du lage det bildet du ønsker og fylle ut regioner med farge. Live Paint-bøtta registrerer automatisk regioner som er sammensatt av uavhengige kryssende baner og fyller dem tilsvarende. Malingen ...