迭代R

时间:2018-03-15 07:03:09

标签: r for-loop dataframe

我是R的初学者,所以这可能是一个显而易见的问题。我有一个包含129个变量的数据帧,一些数字,一些字符串。基本上,我试图循环每个变量来计算平均值/模式(取决于变量),标准开发(如果适用)和频率,并让它可以导出一些很好的包。我尝试过使用for循环,但我只能通过行而不是列。有人有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您也可以在列之间使用for循环。

# Considering only 8 rows and using numeric and character cols for demonstration 
iris_new = iris[1:8,]   
iris_new$Species = as.character(iris_new$Species)

for(i in iris_new){  
  print(i)  
}

 [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0   
 [1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4   
 [1] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5   
 [1] 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2   
 [1] "setosa" "setosa" "setosa" "setosa" "setosa" "setosa" "setosa" "setosa"

答案 1 :(得分:0)

colnames(my_dataframe)生成一个包含列名“my_dataframe”的向量。您可以迭代元素,这是打印每列的第一个元素的示例:

for (the_column in colnames(m))
{
    print(my_dataframe[,c(the_column)][1])
}