Hoe te gebruiken Als Verklaringen in R

Als verklaringen kan zeer nuttig zijn in R, zoals ze zijn in elke programmeertaal ,. Vaak wilt u keuzes te maken en actie te ondernemen afhankelijk van een bepaalde waarde.

Het definiëren van een keuze in uw code is vrij eenvoudig: Als deze voorwaarde waar is, dan is het uitvoeren van een bepaalde taak. Veel programmeertalen je dat laten doen met precies die woorden: indien. . . . Vervolgens R maakt het nog makkelijker: U kunt het woord vervolgens te laten vallen en geef uw keuze in een if-statement.

Een if statement in R bestaat uit drie elementen:

  • Het sleutelwoord als
  • Een enkele logische waarde tussen haakjes (of een expressie die leidt tot één logische waarde)
  • Een codeblok tussen accolades die moet worden uitgevoerd wanneer de logische waarde WAAR

Hier is een zeer kleine functie, Prijscalculator (), dat de prijs die u in rekening brengen aan een klant op basis van het aantal uren werk dat je voor die klant deed berekent. De functie moet het aantal uren (uur) en de prijs per uur (PPH) als input nemen. De Prijscalculator () functie zou iets als dit:

Prijscalculator <- functie (uren, pph = 40) {
net.price <- uur * pph
ronde (net.price)
}

Hereâ € ™ s wat deze code doet:

  • Met de functie trefwoord, u de functie te definiëren.
  • Alles tussen de beugels is het lichaam van de functie (zie hoofdstuk 8).
  • Tussen haakjes, u de argumenten uren opgeven (zonder standaard waarde) en pph (met een standaard waarde van $ 40 per uur).
  • U berekent de nettoprijs door vermenigvuldiging uur door PPH.
  • De uitkomst van de laatste verklaring in het lichaam van je functie is de geretourneerde waarde. In dit geval is dit de totale prijs afgerond op de dollar.

Je kon het argument pph laten vallen en gewoon vermenigvuldigen uren door 40. Maar dat zou betekenen dat als, bijvoorbeeld, uw collega gebruikt een ander uurtarief, zou hij de waarde om te kunnen veranderen in het lichaam van de functie gebruik het. Ita € ™ s goede codering praktijk argumenten met standaardwaarden te gebruiken voor elke waarde die kan veranderen. Wel doet, maakt een functie flexibeler en bruikbaar.

Stel je nu voor je een aantal grote klanten, dat geeft je een hoop werk. Om ze tevreden te houden, u beslist hen een korting van 10 procent op de prijs per uur voor bestellingen die meer dan 100 uur werk te betrekken om te geven. Dus, als het aantal gewerkte uren is groter dan 100, berekent u de nieuwe prijs door de prijs te vermenigvuldigen met 0,9.

U kunt schrijven dat bijna letterlijk in de code als volgt uit:

Prijscalculator <- functie (uren, pph = 40) {
net.price <- uur * pph
if (uur> 100) {
net.price <- net.price * 0.9
}
ronde (net.price)
}

Kopieer deze code in een script-bestand, en stuur het naar de console om deze beschikbaar te maken voor gebruik. Als u deze functie uit te proberen, kun je zien dat de vermindering wordt alleen gegeven wanneer het aantal uren groter is dan 100:

> Prijscalculator (uur = 55)
[1] 2200
> Prijscalculator (uur = 110)
[1] 3960

Dit construct is de meest algemene manier kunt u een opgeven als statement. Maar als u slechts één korte regel code in de code blok, je dona € ™ t moet braces omheen gezet. U kunt de volledige if veranderen in de functie met de volgende regel:

if (uur> 100) net.price <- net.price * 0.9

De gebruikelijke manier om hulp op een functie met de naam, bijvoorbeeld fun.name (? Fun.name) werkt niet voor wanneer. Om toegang te krijgen tot de ingebouwde Help voor als, moet u de naam van de functie citeren. U kunt enkele aanhalingstekens, dubbele aanhalingstekens, of backticks gebruiken. Elk van de volgende uitspraken brengt u naar de Help-pagina voor indien:

? 'Indien'
? "Als"
? `If`