Gå til innhold

R - if/else som ikke vil sammarbeide..


Anbefalte innlegg

Jeg har litt problemer meg R (som jeg ikke er så dreven i), som jeg håper noen kan hjelpe med:)

 

Jeg skal generalisere dagsobservasjoner til ukesobservasjoner. Alt går fint frem til koden:

 

for (i in 0:369){

UkeKvm[(i+1)] <- if(sum(Antall[(7*i+1):(7*i+7)]) > 0)

{sum(KvmPris[(7*i+1):(7*i+7)]) / sum(Antall[(7*i+1):(7*i+7)])} else {UkeKvm}

}

 

Feilmeldingen er:

 

Error in if (sum(Antal[(7 * i + 1):(7 * i + 7)]) > 0) { :

 

Missing value where true/false needed.

 

Noen som ser hva jeg misser? :)

Lenke til kommentar
Videoannonse
Annonse

Parantesene i "if"-argumentet stemmer som de er.

 

Hmm. Javisst. Det ser ut som at det ikke var jeg som telte riktig.

 

Kan det være at sum(Antall[(7*i+1):(7*i+7)]) kan bli lik 0? I såfall så vil du ha en division by zero som gjør at fi-en blir NA istedenfor true eller false.

Lenke til kommentar

Hmm. Javisst. Det ser ut som at det ikke var jeg som telte riktig.

 

Kan det være at sum(Antall[(7*i+1):(7*i+7)]) kan bli lik 0? I såfall så vil du ha en division by zero som gjør at fi-en blir NA istedenfor true eller false.

 

Den skal minst bli 7, så tror ikke det er der feilen ligger. Har dog prøvd å starte indekseringen fra forskjellige tall, bare for å se om det hjelper, men får stadig samme feilmelding :/

 

Uten å titte på selve utrykket så sier feilmeldingen sier Antal[], mens koden bruker Antall[]. (Enkel vs. dobbel konsonant) Kan det ligge her, eller er den en feilpaste? :)

 

Det er en glipp.:) Kopierte ikke feilmeldingen, men skrev den inn selv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...