R の範囲を指定した for ループ (例を含む)


次の基本構文を使用して、R で範囲を指定した for ループを作成できます。

 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 ループを使用して、特定の範囲内の各値に対して特定の操作を実行する方法を示しています。

 #definevector
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

  ABC
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

   ABC
1 6 8 11
2 8 8 15
3 8 7 19
4 10 8 15
5 16 12 11

追加リソース

R でネストされた For ループを作成する方法
R でネストされた If Else ステートメントを記述する方法
R で列名を反復処理する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です