2

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

这是我正在使用的代码。

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

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

4

1 回答 1

2

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

colpicks <- seq(10,1000,by=10)
mapply(function(start,stop) seqdef(df[,start:stop]), colpicks-9, colpicks)
于 2013-03-28T01:24:33.930 回答