用apply函数替换for循环

时间:2015-05-15 17:25:56

标签: r for-loop apply

我的问题是如何使用“apply”函数来执行“for loop”在此示例中的操作:

mtcars

for (i in colnames(mtcars)){
    print(head(mtcars[i]))
}

我需要的是让R在另一列之后读取一列,理想情况是通过索引(即mtcars [1],然后是mtcars [2],然后是mtcars [3] ...)而不是colnames。

非常感谢您的帮助。

由于

1 个答案:

答案 0 :(得分:1)

使用应用功能

apply(mtcars, 2 ,head)

这是结果

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

<强>解释

应用函数参数中的

2表示您要将每列传递到定义的函数,如果您通过1而不是2这意味着您&# 39;重新发送每行而不是列