Hem Personliga finanser Hur man kedjar om ... Andra uttalanden i R-dummies

Hur man kedjar om ... Andra uttalanden i R-dummies

Video: Why do we sleep? | Russell Foster 2024

Video: Why do we sleep? | Russell Foster 2024
Anonim

I vissa fall måste du göra flera val i R. Om och om … andra påståenden lämnar dig med exakt två alternativ, men livet är sällan så enkelt som det. Tänk dig att du har några kunder utomlands.

Låt oss anta att någon klient utomlands inte behöver betala moms för exemplets skull. Detta ger dig nu tre olika mervärdesskattesatser: 12 procent för privata kunder, 6 procent för offentliga kunder och ingen för utländska kunder.

Det mest intuitiva sättet att lösa detta problem är bara att kedja valet. Om en kund bor utomlands, debiterar ingen moms. Annars ska du kontrollera om klienten är offentlig eller privat och tillämpar den relevanta mervärdesskattesatsen.

Om du definierar en argumentklient för din funktion som kan ta värdena utomlands, "offentliga" och "privata" kan du koda den tidigare algoritmen så här:

om (klient == 'privat') {tot. pris <- netto. pris * 1. 12 # 12% moms} annat {om (klient == "offentligt") {tot. pris <- netto. pris * 1. 06 # 6% moms} annat {tot. pris <- netto. pris * 1 # 0% moms}}

Med den här koden, nestar du den andra om … annat uttalande i det första om … annat uttalande. Det är helt acceptabelt och det kommer att fungera, men tänk vad du skulle behöva om du hade fyra eller fler möjligheter. Att skapa ett uttalande i ett uttalande i ett uttalande i ett uttalande skapar snabbt en enorm lockig röra.

Lyckligtvis låter R dig skriva all den koden lite tydligare. Du kan kedja om … annat uttalanden enligt följande:

om (klient == 'privat') {tot. pris <- netto. pris * 1. 12} annat om (klient == "offentligt") {tot. pris <- netto. pris * 1. 06} annat {tot. pris <- netto. pris}

I det här exemplet gör kedjan en skillnad på bara två axlar, men när du har fler möjligheter gör det kodläsbar. Observera att du inte behöver testa om argumentklienten är lika med "utomlands" (även om det inte skulle vara fel att göra det). Du antar bara att om kunden inte har någon av de två andra värdena, måste den vara "utomlands".

Kedjad om … andra påståenden fungerar på ett enda värde i taget. Du kan inte använda dessa chained om … annat uttalanden på ett vektoriserat sätt. För det kan du hyra flera ifelse-uttalanden, så här:

Moms <- ifelse (klient == 'privat', 1. 12, ifelse (klient == 'allmänhet', 1. 06, 1)) tot. pris <- netto. pris * moms

Denna del av koden kan bli ganska förvirrande om du har mer än tre val. Lösningen på detta är att byta.

Hur man kedjar om ... Andra uttalanden i R-dummies

Redaktörens val

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

När du har lagt till en Bakgrund till ditt spel kan du ytterligare anpassa bakgrunden i Gamestar Mechanic genom att använda två ytterligare alternativ i dialogrutan Nivåinställningar: Bakgrundsrullning och Bakgrundsstil. Bakgrundsrullning Parallaxen är en viktig egenskap hos bakgrunden i spel där alternativet Fler skärm är valt. Redigerbar ...

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Det vanligaste exemplet på balansering ett spel i Gamestar Mechanic balanserar svårigheten: Gör inte spelet så lätt att det är tråkigt och gör det inte så svårt att det är frustrerande. För att finjustera spelets svårighet måste du göra små förändringar utan att bli förbunden till ...

För att kalibrera accelerometern för ditt HTML5-spel - dummies

För att kalibrera accelerometern för ditt HTML5-spel - dummies

Som standard antar HTML5-spelaccelerometern Det neutrala läget är perfekt horisontellt - det vill säga enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans. Grundläggande tekniken för att kalibrera tiltkontrollen är att hålla koll på en ...

Redaktörens val

Gör äta rena förändringar i livet - dummies

Gör äta rena förändringar i livet - dummies

Rena ätförändringar i ditt liv är inte svåra att göra, men de tar lite gumption, uthållighet och övning. När du gör en koncentrerad insats för att äta lägre på livsmedelskedjan, märka hur detta beslut påverkar andra delar av ditt liv. För att vara framgångsrik måste du tänka på mat och äta annorlunda, vilka ...

Köttfri måndag och hållbarhet - dummies

Köttfri måndag och hållbarhet - dummies

Köttfri måndag är ett ganska nytt koncept som ofta nämns på Facebook och Twitter. Allt det betyder är att en dag i veckan väljer du att äta vegetarian eller vegan. Inte bara kan Meatless Monday spara pengar (eftersom kött är dyrt), men planen hjälper miljön (eftersom stora kött-, fläsk- och kycklingsanläggningar skapar nitrat ...

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

Medelhavsdieten har länge varit prydnad för vilket ger hälsoeffekter, såsom att minska kranskärlssjukdom och minska risken för vissa cancerformer. Inklusive färska grönsaker och frukter, baljväxter och hälsosamma fetter i din kost kan hjälpa dig att förbättra din hälsa på många sätt. Forskning visar att en traditionell medelhavsdiet minskar ...

Redaktörens val

Hur man arbetar med Nikon D3300-minneskort - dummies

Hur man arbetar med Nikon D3300-minneskort - dummies

Som mediet som lagrar dina bildfiler , Nikon D3300s minneskort är en viktig del av din kamera. Följ dessa tips för att köpa och behålla kort: Köpkort: När du handlar för ett SD-minneskort är den enda specifikationen som noterar annat än kortkapaciteten kort hastighet, vilket indikerar hur snabbt data ...

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Med intervall Timer Fotografering på Nikon D5200, du kan ställa in kameran för att automatiskt släppa avtryckaren med intervall som sträcker sig från sekunder till timmar från varandra. Med den här funktionen kan du fånga upp ett ämne eftersom det förändras över tiden - en teknik som är känd som fotografering med tidsfördröjning - utan att behöva stå runt på ...

JPEG Filer på Nikon D3300-dummies

JPEG Filer på Nikon D3300-dummies

Uttalad "jay-peg", det här formatet är standardinställningen på din Nikon D3300, som det är på de flesta digitalkameror. JPEG är populär av två huvudorsaker: Omedelbar användbarhet: Alla webbläsare och e-postprogram kan visa JPEG-filer, så att du kan dela bilder online direkt efter att du har tagit dem. Du kan också få en ...