Inhoudsopgave:
- Het script maken
- Om van dit script een functie te maken, moet u een paar dingen doen. Stel je het script voor als een kleine fabriek die het ruwe numerieke materiaal neemt en het oppoetst tot glanzende percentages waarnaar elke wiskundige verlangt.
Video: Hoe Maak Je Een Wordpress Website 2019 2025
Van een script naar een functie gaan kost niet veel moeite. In R is een functie in wezen een stuk code dat achtereenvolgens en zonder onderbreking wordt uitgevoerd. Op die manier verschilt een functie niet zo veel van een scriptrun met de functie source ().
Een functie heeft echter twee zeer mooie voordelen ten opzichte van scripts:
-
Functies kunnen werken met variabele invoer, dus u gebruikt het met verschillende gegevens.
-
Functies retourneren de uitvoer als een object, zodat u met het resultaat van die functie kunt werken.
De beste manier om te leren zwemmen is door in het diepe te springen, dus schrijf vervolgens een functie om te zien hoe gemakkelijk dit is in R.
Het script maken
Stel dat u fractionele getallen wilt presenteren (bijvoorbeeld 1/2) als percentages, mooi afgerond op één decimaal cijfer. Zo kunt u dat bereiken:
-
Vermenigvuldig de fractionele getallen met 100.
-
Rond het resultaat af op één decimaal.
U kunt hiervoor de functie round () gebruiken.
-
Plak een percentageteken na het afgeronde getal.
De functie paste () staat tot uw dienst om deze taak te vervullen.
-
Druk het resultaat af.
De functie print () doet dit.
Je kunt deze stappen eenvoudig vertalen naar een klein script voor R. Dus open een nieuw scriptbestand in je editor en typ de volgende code:
x <- c (0. 458, 1. 6653, 0. 83112) procent <- round (x * 100, cijfers = 1) result <- paste (percentage, "%", sep = "") afdrukken (resultaat)
Als u dit script opslaat als een scriptbestand, bijvoorbeeld pasteurepercent. R - je kunt dit script nu in de console oproepen met de volgende opdracht: >> source ("pastePercent. R") [1] "45. 8% "" 166. 5% "" 83. 1% "
Dat werkt voortreffelijk, zolang u telkens wanneer u het script belt dezelfde drie nummers wilt zien. Maar het gebruik van het script voor andere gegevens zou licht ongemakkelijk zijn, omdat je het script elke keer zou moeten veranderen.
In de meeste editors kunt u ook
bron een script (een volledig scriptbestand verzenden naar de R-console) met een eenvoudige klik. In RStudio wordt dit gedaan door op de knop Source te klikken of door op Ctrl + Shift + S te drukken voor sourcing zonder echo, en Ctrl + Shift + Enter voor sourcing met echo. Het script transformeren
Om van dit script een functie te maken, moet u een paar dingen doen. Stel je het script voor als een kleine fabriek die het ruwe numerieke materiaal neemt en het oppoetst tot glanzende percentages waarnaar elke wiskundige verlangt.
Eerst moet je het fabrieksgebouw bouwen, bij voorkeur met een adres zodat mensen weten waar ze hun nummers naartoe moeten sturen.Vervolgens moet je een poort aan de voorkant installeren zodat je de onbewerkte nummers kunt ophalen. Vervolgens maak je de productielijn om die nummers te transformeren. Ten slotte moet je een achterpoort installeren zodat je je glanzende percentages de wereld in kunt sturen.
Om uw fabriek te bouwen, wijzigt u het script in de volgende code:
addPercent <- functie (x) {percent <- round (x * 100, cijfers = 1) result <- paste (percentage, "%", sep = "") retour (resultaat)}
Bekijk de verschillende onderdelen waaruit deze kleine fabriek bestaat, van naderbij. De functie heeft de volgende elementen:
De sleutelwoordfunctie moet altijd worden gevolgd door haakjes. Het vertelt R dat wat volgt is een functie.
-
De haakjes na functie vormen de front gate of
-
argumentlijst, van uw functie. Tussen de haakjes worden de argumenten voor de functie gegeven. In dit geval is er maar één argument, genaamd x. De accolades, {}, kunnen worden gezien als de muren van uw functie. Alles tussen de accolades maakt deel uit van de assemblagelijn, of de
-
body van uw functie. De return () -instructie is de achterpoort van uw functie. Het object dat u tussen haakjes plaatst, wordt vanuit de functie teruggebracht naar uw werkruimte. U kunt slechts één object tussen de haakjes plaatsen.
-
Als je dit allemaal bij elkaar optelt, krijg je een complete functie, maar R weet niet waar het te vinden is. Dus gebruik je de operator assignment <- om deze complete functie in een object met de naam addPercent te zetten. Dit is het adres waar R nummers naartoe kan sturen voor transformatie. De functie heeft nu een mooie naam en is klaar voor gebruik.
U kunt in de argumentlijst niet opgeven dat x een numerieke vector moet zijn. Als u bijvoorbeeld een tekenvector als waarde voor x gebruikt, zal de vermenigvuldiging in het tekstvak een fout veroorzaken, omdat u tekens niet met een cijfer kunt vermenigvuldigen. Als u wilt bepalen welk type object als argument wordt gegeven, moet u dit handmatig doen, in de hoofdtekst van de functie.