2013-03-16 208 views
2

真正初学者的问题,我的清单上应用循环与下面的代码行:如何将循环的结果存储到变量中? R中

for(i in 1:length(zz)){ if (length(zz[[i]])>2) {print(zz[[i]])}} 

,我得到我想要的东西,我在控制台进行可视化。然而,我找不到将这些数据存储到变量中的方式,所以我可以在以后使用它。

你能帮我解决吗?

非常感谢你提前。

Tina。

回答

4

我建议你只是过滤列表如下:

out <- zz[sapply(zz, length) > 2] 

其中sapply(zz, length)让你列表项的长度。

+2

当你在'for'循环中考虑一项简单的任务时,肯定会看''lapply'。 – baptiste 2013-03-16 00:22:35

1
out <- vector("numeric", length(zz)) #type depends on what zz is 

for(i in 1:length(zz)) 
    if(length(zz[[i]] > 2) 
     out[i] = zz[[i]] 

当别人注意,在R上的惯例是与apply家庭成员做到这一点。

相关问题