在R中一次循环10列

时间:2013-03-28 01:03:35

标签: r traminer sequence-alignment

我有一个包含1000列的数据框。我试图一次循环10列,并使用seqdef()包中的TraMineR函数对这些列中的数据进行序列对齐。因此,我希望将此函数应用于第一次复飞中的第1-10列,以及第二次复飞中的第11-20列,一直到1000。

这是我正在使用的代码。

library(TraMineR)
by(df[, 1:10], seqdef(df))

但是,这只会在前10个循环然后停止。如何在10列的块中循环它?

1 个答案:

答案 0 :(得分:2)

您可以使用mapply执行此类操作,并设置要循环的列序列。

colpicks <- seq(10,1000,by=10)
mapply(function(start,stop) seqdef(df[,start:stop]), colpicks-9, colpicks)