Video: How to use Excel Index Match (the right way) 2025
Når du bruger funktioner som argumenter i R, er det nogle gange nødvendigt at matche funktioner. Dette betyder også, at hvis du har et objekt med samme navn som den funktion, du vil bruge, fungerer hele konstruktionen ikke. Antag at du havde den ikke så kloge ide om at skabe en vektor med den relative gevinst på et par runder af poker som dette: >> runde <- c (0, 48, -0, 52, 1. 88) < Hvis du forsøgte at kalde addPercent () med FUN-argumentet på denne vektor, vil du få følgende fejl:
>> addPercent (runde, FUN = runde) Fejl i addPercent (runde, FUN = runde): kunne ikke finde funktionen "FUN"
I stedet for at passere koden for den runde funktion, R passerer vektorrunden som FUN-argumentet. For at undgå denne slags problemer kan du bruge en speciel funktion, match. sjovt (), i kroppen af addPercent (), som denne:
addPercent <- funktion (x, mult = 100, FUN, …) {FUN <- match. sjovt (FUN) procent <- fUN (x * mult, …) indsæt (procent, "%", sep = ")}Denne funktion vil lede efter en funktion, der svarer til navnet rundt og kopiere den pågældende kode til FUN argumentet i stedet for vektorrunden. Som en ekstra bonus giver match. fun () dig også mulighed for at bruge et tegnobjekt som argumentet, så det angives, at FUN = 'round' nu også fungerer.
Alle indbyggede R-funktioner bruger match. Fun () til dette formål, og det anbefales at gøre det samme, hvis du skriver kode, der vil blive brugt af andre mennesker. Men passerende funktioner fungerer fint uden at bruge match. sjovt (), så længe du bruger fornuftige navne til de andre objekter i dit arbejdsområde.