R で列名を反復処理する方法 (例付き)
多くの場合、R でデータ フレームの列名を反復処理し、各列に対して特定の操作を実行したい場合があります。これを行うには、次の 2 つの一般的な方法があります。
方法 1: For ループを使用する
for (i in colnames(df)){ some operation }
方法 2: sapply() を使用する
sapply(df, some operation )
このチュートリアルでは、これらの各メソッドを実際に使用する方法の例を示します。
方法 1: For ループを使用する
次のコードは、 for ループを使用してデータ フレームの列名をループし、各列の平均値を表示する方法を示しています。
#create data frame df <- data.frame(var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 8 6 2 4 4 3 6 8 5 5 2 8 9 #loop through each column and print mean of column for (i in colnames(df)){ print( mean (df[[i]])) } [1] 3.2 [1] 5.4 [1] 5.2 [1] 4.2
方法 2: sapply() を使用する
次のコードは、 sapply()を使用してデータ フレームの列名を反復処理し、各列の平均値を表示する方法を示しています。
#create data frame df <- data.frame(var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 8 6 2 4 4 3 6 8 5 5 2 8 9 #loop through each column and print mean of column sapply(df, mean ) var1 var2 var3 var4 3.2 5.4 5.2 4.2
どちらのメソッドも同じ結果を返すことに注意してください。