Hjem Personlig finansiering Hvordan du bruker løkker med indekser i R-dummier

Hvordan du bruker løkker med indekser i R-dummier

Video: TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K) 2024

Video: TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K) 2024
Anonim

Bruk av løkker i R er veldig nyttig, men du kan skrive mer effektiv kode hvis du ikke går over verdier, men over indeksene. For å gjøre det erstatter du den midterste delen i funksjonen med følgende kode:

nclient <- lengde (klient) MVA <- numerisk (nclient) for (jeg i seq_along (klient)) {MVA [i] <- Switch (klient [i], privat = 1. 12, offentlig = 1. 06, 1))}

Her er noen forskjeller fra å bruke verdier for vektoren for looping:

  • Du tilordner lengden på vektorklienten til variabelen nclient.

  • Deretter lager du en numerisk vektorgskats som er like lang som vektorklienten. Dette kalles forhåndsfordeling av en vektor.

  • Så slår du over indekser av klient i stedet for selve vektoren ved å bruke funksjonen seq_along (). I første passering gjennom sløyfen er den første verdien i mva satt til å være resultatet av bryteren () påført den første verdien i klienten. I andre pass, er den andre verdien av mva resultatet av bryteren () påført den andre verdien i klient og så videre.

Du kan bli fristet til å erstatte seq_along (klient) med vektoren 1: nclient, men det ville være en dårlig ide. Hvis vektorklienten har en lengde på 0, oppretter seq_along (klient) en tom vektor og koden i løkken utføres aldri. Hvis du bruker 1: nclient, oppretter R en vektor c (1, 0) og slår over disse to verdiene, noe som gir deg et helt feil resultat.

Hver gang du lengder et objekt i R, må R kopiere hele objektet og flytte det til et nytt sted i minnet. Dette har to effekter:

  • Først senker det koden din, fordi all kopiering tar tid.

  • For det andre, ettersom R kontinuerlig beveger ting rundt i minnet, blir dette minnet delt opp i mange små mellomrom.

Dette kalles fragmentering, , og det gjør kommunikasjonen mellom R og minnet mindre glatt. Du kan unngå denne fragmenteringen ved forhåndsfordeling -minne som i forrige eksempel.

Hvordan du bruker løkker med indekser i R-dummier

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