Hjem Personlig finansiering Hvordan man bruger løkker med indekser i R-dummier

Hvordan man bruger løkker med indekser i R-dummier

Video: WW1 - Oversimplified (Part 1) 2024

Video: WW1 - Oversimplified (Part 1) 2024
Anonim

Brug af løkker i R er meget praktisk, men du kan skrive mere effektiv kode, hvis du ikke løber over værdier men over indekserne. For at gøre det erstatter du den midterste sektion i funktionen med følgende kode:

nclient <- længde (klient) moms <- numerisk (nclient) til (jeg i seq_along (klient)) {moms [i] <- switch (klient [i], privat = 1, 12, offentlig = 1, 06, 1))}

Her er nogle få forskelle fra at bruge værdier af vektoren til looping:

  • Du tildeler længden af ​​vektorklienten til variablen nclient.

  • Så laver du en numerisk vektor moms, der er lige så lang som vektorklienten. Dette kaldes fordeling af en vektor.

  • Så løber du over indekser af klient i stedet for selve vektoren ved at bruge funktionen seq_along (). I den første passage gennem løkken er den første værdi i moms sat til at være resultatet af switch () anvendt til den første værdi i klienten. I andet pass er den anden værdi af moms resultatet af switch () anvendt til den anden værdi i klient og så videre.

Du kan blive fristet til at erstatte seq_along (klient) med vektoren 1: nclient, men det ville være en dårlig idé. Hvis vektorklienten har en længde på 0, opretter seq_along (klient) en tom vektor, og koden i sløjfen udføres aldrig. Hvis du bruger 1: nclient, skaber R en vektor c (1, 0) og sløjfer over disse to værdier, hvilket giver dig et helt forkert resultat.

Hver gang du forlænger et objekt i R, skal R kopiere hele objektet og flytte det til et nyt sted i hukommelsen. Dette har to effekter:

  • Først sænker den din kode, fordi al kopiering tager tid.

  • For det andet, da R kontinuerligt bevæger tingene rundt i hukommelsen, bliver denne hukommelse opdelt i mange små rum.

Dette kaldes fragmentering, , og det gør kommunikationen mellem R og hukommelsen mindre glat. Du kan undgå denne fragmentering ved forud tildeling -hukommelse som i det foregående eksempel.

Hvordan man bruger løkker med indekser i R-dummier

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 ...