2

1000列のデータフレームがあります。一度に 10 列をループしてseqdef()、パッケージの関数を使用しTraMineRて、それらの列のデータ全体でシーケンス アラインメントを実行しようとしています。したがって、この関数を最初の周回では列 1 ~ 10 に適用し、2 回目の周回では列 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 に答える