För Loop in R med exempel för List och Matrix

Innehållsförteckning:

Anonim

En for-loop är mycket värdefull när vi behöver itera över en lista med element eller ett antal siffror. Loop kan användas för att itera över en lista, dataram, vektor, matris eller något annat objekt. Stag och hakparentes är obligatoriskt.

I den här handledningen lär vi oss,

  • För loop-syntax och exempel
  • För Loop över en lista
  • För Loop över en matris

För loop-syntax och exempel

For (i in vector) {Exp}

Här,

R slingrar över alla variabler i vektorn och gör beräkningen skriven inuti exp.

Låt oss se några exempel.

Exempel 1 : Vi itererar över alla element i en vektor och skriver ut det aktuella värdet.

# Create fruit vectorfruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')# Create the for statementfor ( i in fruit){print(i)}

Produktion:

## [1] "Apple"## [1] "Orange"## [1] "Passion fruit"## [1] "Banana"

Exempel 2 : skapar en icke-linjär funktion genom att använda polynom av x mellan 1 och 4 och vi lagrar den i en lista

# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)

Produktion:

## [1] 1 4 9 16 

For-loop är mycket värdefullt för maskininlärningsuppgifter. Efter att vi har tränat en modell måste vi reglera modellen för att undvika överpassning. Regularisering är en mycket tråkig uppgift eftersom vi måste hitta det värde som minimerar förlustfunktionen. För att hjälpa oss att upptäcka dessa värden kan vi använda en for-loop för att iterera över en rad värden och definiera den bästa kandidaten.

För Loop över en lista

Looping över en lista är lika enkelt och bekvämt som looping över en vektor. Låt oss se ett exempel

# Create a list with three vectorsfruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'),Money = c(10, 12, 15), purchase = FALSE)for (p in fruit){print(p)}

Produktion:

## [1] "Apple" "Orange" "Passion fruit" "Banana"## [1] 10 12 15## [1] FALSE

För Loop över en matris

En matris har 2-dimension, rader och kolumner. För att itera över en matris måste vi definiera två för loop, nämligen en för raderna och en annan för kolumnen.

# Create a matrixmat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2)# Create the loop with r and c to iterate over the matrixfor (r in 1:nrow(mat))for (c in 1:ncol(mat))print(paste("Row", r, "and column",c, "have values of", mat[r,c]))

Produktion:

## [1] "Row 1 and column 1 have values of 10"## [1] "Row 1 and column 2 have values of 16"## [1] "Row 2 and column 1 have values of 11"## [1] "Row 2 and column 2 have values of 17"## [1] "Row 3 and column 1 have values of 12"## [1] "Row 3 and column 2 have values of 18"## [1] "Row 4 and column 1 have values of 13"## [1] "Row 4 and column 2 have values of 19"## [1] "Row 5 and column 1 have values of 14"## [1] "Row 5 and column 2 have values of 20"## [1] "Row 6 and column 1 have values of 15"## [1] "Row 6 and column 2 have values of 10"