for循环读取具有不同编号的同名

时间:2014-06-17 21:49:49

标签: r for-loop

我有几个名为kpi1,kpi2,kpi3,......的数据帧。我想创建一个数据帧,其中包含每个数据帧的某些行(包含某些值)。我有代码从每个中提取我想要的东西,但我想写一个循环来在每次迭代中选择每个数据帧,执行提取,然后转到下一个文件。因此,在第一次迭代中,我可以使用kpi1进行填充,使用kpi2进行第二次迭代,依此类推。

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用mget将其收集到列表中,然后使用lapplysapply处理每个列表。

或者您可以在循环中使用get。使用sprintfpaste0创建名称列表。

out1 <- lapply( mget( sprintf( 'kpi%d', 1:25 ) ), function(df) df[1:3, ] )
out2 <- do.call(rbind, out1)

一般来说,最好将多个数据帧保存在一个列表中,而不是在全局环境中将每个数据帧放在自己的数据框中。