如何将循环的结果存储到变量中? R中
问题描述:
真正初学者的问题,我的清单上应用循环与下面的代码行:如何将循环的结果存储到变量中? R中
for(i in 1:length(zz)){ if (length(zz[[i]])>2) {print(zz[[i]])}}
,我得到我想要的东西,我在控制台进行可视化。然而,我找不到将这些数据存储到变量中的方式,所以我可以在以后使用它。
你能帮我解决吗?
非常感谢你提前。
Tina。
答
我建议你只是过滤列表如下:
out <- zz[sapply(zz, length) > 2]
其中sapply(zz, length)
让你列表项的长度。
答
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
家庭成员做到这一点。
当你在'for'循环中考虑一项简单的任务时,肯定会看''lapply'。 – baptiste 2013-03-16 00:22:35