Programming R loop vraag

Pieterjan94

Well-known member
Hallo allemaal

Ik zit vast met iets.
Context: het is een opdracht voor een vak. De code is "juist" in die zin dat het normaal zou bereiken was ik beoog, helaas krijg ik stevast een error. Voor het vak was een basiskennis voor R niet vereist, maar tegelijk ziet de prof het niet zitten me te helpen omdat mijn vraag blijkbaar toch zo ontzettend basic is... :)

Line of code:
for (i in 1:5)
tempmat[,i] <- scores.mat[tempmat[,i],i]

Tempmat == 92x5matrix die drie categorieen bevat (A B en C) - (deze moet heel zeker zo blijven en niet omgevormd worden naar iets numerisch)
scores.mat == 3x5matrix die integers bevat

error1: invalid subscript type 'list' -> opgelost door beide frames te definieren als een matrix
error2: subscript out of range

Doordat mijn kennis van R redelijk beperkt is, doe ik vooral trial en error wat me vrij weinig inzicht biedt. Hierdoor zie ik allicht iets superbasic over het hoofd.
Na wat te surfen ben ik er achter gekomen dat mijn eerste error kon opgelost worden door beide frames te definieren als matrix, maar nu verschijnt de tweede error en ik heb eerlijk gezegd geen idee hoe ik dat zou kunnen oplossen.

Iemand een idee?
 
Schrijf je je code dan niet met een IDE? Ik ben niet bekend met R, maar die zullen voor die taal wel bestaan, en hebben sowieso wel een vorm van syntax checking. Soms leest je brein gewoon over een typo en als die zuiver syntactisch van aard is zal de syntax checker dat dan aanduiden.
 
Schrijf je je code dan niet met een IDE? Ik ben niet bekend met R, maar die zullen voor die taal wel bestaan, en hebben sowieso wel een vorm van syntax checking. Soms leest je brein gewoon over een typo en als die zuiver syntactisch van aard is zal de syntax checker dat dan aanduiden.
Via Rstudio. Het was niet een typo zoals jij beschrijft. Ik had de rijnamen van mijn matrix moeten hernoemen tot 0:3 waar ik ze hernoemd had tot O:3 waardoor de operatie foutliep.

Nu goed, eigenlijk wel heel wat bijgeleerd door die fout waardoor ik mijn syntax toch al logischer kan schrijven waardoor ik dat soort fouten minder snel maak in de toekomst. Positief denken :D
 
  • Leuk
Waarderingen: Avi
Terug
Bovenaan