For-Loop с диапазоном в R (включая примеры)


Вы можете использовать следующий базовый синтаксис для написания цикла for с диапазоном в R:

for (i in 1:10) {
 do something
}

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: Печать значений в диапазоне

В следующем коде показано, как использовать цикл for для вывода каждого значения в определенном диапазоне:

#print every value in range of 1 to 10
for (i in 1:10) {
 print(i)
}

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10

Пример 2: выполнение операции над значениями в диапазоне

В следующем коде показано, как использовать цикл for для выполнения определенной операции над каждым значением в определенном диапазоне:

#define vector
x <- c(4, 7, 9, 12, 14, 16, 19)

#print square root of every value in vector
for (i in 1: length (x)) {
 print(paste('The square root of the value in position', i, 'is', sqrt(x[i])))
}

[1] "The square root of the value in position 1 is 2"
[1] "The square root of the value in position 2 is 2.64575131106459"
[1] "The square root of the value in position 3 is 3"
[1] "The square root of the value in position 4 is 3.46410161513775"
[1] "The square root of the value in position 5 is 3.74165738677394"
[1] "The square root of the value in position 6 is 4"
[1] "The square root of the value in position 7 is 4.35889894354067"

Пример 3. Выполнение операции со значениями во фрейме данных

В следующем коде показано, как использовать цикл for для выполнения определенной операции над каждым значением в определенном столбце фрейма данных в r:

#define data frame
df <- data.frame(a=c(3, 4, 4, 5, 8),
 b=c(8, 8, 7, 8, 12),
 c=c(11, 15, 19, 15, 11))

#view data frame
df

 a b c
1 3 8 11
2 4 8 15
3 4 7 19
4 5 8 15
5 8 12 11

#multiply every value in column 'a' by 2
for (i in 1: length (df$a)) {
 df$a[i] = df$a[i]\*2
}

#view updated data frame
df

 a b c
1 6 8 11
2 8 8 15
3 8 7 19
4 10 8 15
5 16 12 11

Дополнительные ресурсы

Как создать вложенный цикл for в R
Как написать вложенный оператор If Else в R
Как перебрать имена столбцов в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.