Hvordan søke funksjoner til en vektor i R

September 13  by Eliza

Den gjelder () -funksjonen fungerer på alt som har dimensjoner i R, men hva hvis du ikke har dimensjoner? For dette har du to relaterte funksjoner fra gjelde familien til din disposisjon sapply () og lapply (). L i lapply står for liste og s i sapply står for forenkle.

De to funksjonene fungerer i utgangspunktet den samme - den eneste forskjellen er at lapply () returnerer alltid en liste med resultatet, mens sapply () prøver å forenkle det endelige objektet hvis mulig.

Både sapply () og lapply () vurdere hver verdi i vektoren for å være et element av hvilken de kan anvende en funksjon. Mange funksjoner i R arbeid i en vektorisert måte, så er det ofte ikke nødvendig å bruke dette.

Bryteren () funksjon, men virker ikke på en vektorisert måte. Vurdere følgende grunnleggende eksempel:

> Sapply (c ('a', 'b'), bryter, en = "Hei", b = 'Farvel')
ab
"Hello" "Farvel"

Den sapply () kaller fungerer veldig lik den gjelder () samtale, selv om du ikke har et argument som spesifiserer indeksen. Her er en oppsummering:

  • Det første argumentet er vektor på hvilke verdier du vil bruke funksjonen - i dette tilfellet, vektoren c ('a', 'b').
  • Det andre argumentet er navnet på funksjonen - i dette tilfellet, slår.
  • Alle andre argumenter er bare de argumentene du passerer til bryterfunksjonen.

Den sapply () -funksjonen tar nå første verdien 'a' og deretter verdien 'b' som første argument for å bytte (), ved hjelp av argumenter a = 'Hei' og b = 'Farvel' hver gang som de andre argumentene. Den kombinerer begge resultatene i en vektor og bruker verdiene av c ('a', 'b') som navn for den resulterende vektoren.

Den sapply () funksjonen har et argument USE.NAMES at du kan stille til FALSE hvis du ikke vil sapply () til å bruke tegn verdier som navn for resultatet.