Video: CHICKEN GIRLS: THE MOVIE 2024
Feil og advarsler har forskjellige funksjoner i R Du kan ikke komme rundt feil, fordi de bare stopper koden din. Advarsler derimot er et helt annet dyr. Selv om R kaster en advarsel, fortsetter den å utføre koden uansett. Du kan ignorere advarsler, men generelt er det en ganske dårlig ide. Advarsler er ofte det eneste tegnet du har at koden din har noen semantisk eller logisk feil.
Du kan for eksempel ha glemt om funksjonen ifelse () og prøvde noe som følgende eksempel: >> xy <- hvis (x <5) 0 annet 1 Advarselsmelding: I hvis (x 1 og bare det første elementet vil bli brukt
Disse advarselspunktene til en semantisk feil: hvis du forventer en enkelt TRUE eller FALSE-verdi, men du ga en hel vektor. Merk at, akkurat som feil, forteller deg advarsler Generell hvilken kode har generert advarselen.
Fordi x - 5 er negativ når x er 4, kan R ikke beregne kvadratroten og advarer deg om at kvadratroten av et negativt tall er ikke et tall (NaN).
Hvis du er matematiker, kan du påpeke at kvadratroten til -1 er 0 - 1i. R kan faktisk gjøre beregninger på komplekse tall, men da må du definere variablene som komplekse tall. Y kan du for eksempel sjekke hjelpefilen? kompleks for mer informasjon.
Selv om de fleste advarsler skyldes enten semantiske eller logiske feil i koden, kan en enkel syntaksfeil generere en advarsel i stedet for en feil. Hvis du vil plotte noen punkter i R, bruker du plot () -funksjonen. Det tar en argumentkol for å angi fargen på punktene, men du kan feilaktig prøve å farge punktene ved å bruke følgende: >> plot (1: 10, 10: 1, farge = "grønn")
Hvis du prøver dette, du får seks varslingsmeldinger samtidig, alle fortelle deg at fargen er sannsynligvis ikke argumentnavnet du lette etter:Advarselsmeldinger: 1: I plott. vindu (…): "farge" er ikke en grafisk parameter 2: I plott. xy (xy, type, …): "farge" er ikke en grafisk parameter …
Merk at advarselsmeldingene ikke peker mot koden du skrev på kommandolinjen; I stedet peker de på funksjoner du aldri brukte før, som plott. vindu () og tomt. xy ().
Du kan overføre argumenter fra en funksjon til en annen ved hjelp av prikkargumentet. Det er akkurat hva tomten () gjør her. Så, plot () selv genererer ikke en advarsel, men hver funksjon som plottet () overfører fargedokumentet til gjør.
Hvis du får advarsel eller feilmeldinger, kan en grundig titt på hjelpesidene til funksjonen / funksjonene som genererte feilen, bidra til å bestemme hva årsaken er for meldingen du fikk. For eksempel på Hjelp-siden av? plott. xy, du finner ut at det riktige navnet på argumentet er kol.
Så, for å oppsummere, peker de fleste advarsler på ett av følgende problemer:
Funksjonen ga deg et resultat, men av en eller annen grunn kan resultatet ikke være riktig.
Funksjonen genererte et atypisk utfall, som NA eller NaN-verdier.
-
Funksjonen kunne ikke håndtere noen av argumentene og ignorert dem.
Bare den siste forteller deg at det er et problem med syntaxen din. For de andre, må du undersøke koden litt mer.