如何在 r 中迭代列名(附示例)
通常,您可能希望迭代 R 中数据框的列名称并对每列执行某些操作。有两种常见的方法可以做到这一点:
方法 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
请注意,两种方法返回相同的结果。