我有一个包含 1000 列的数据框。我尝试一次循环 10 列以上,并使用 TraMineR 包中的 seqdef() 函数对这些列中的数据进行序列对齐。因此,我想将此函数应用于第一次循环中的第 1-10 列,以及第二次循环中的 11-20 列,一直到 1000。
这是我正在使用的代码。
library(TraMineR)
by(df[, 1:10], seqdef(df))
但是,这只循环前 10 个,然后停止。如何在 10 列的 block 中循环它?
最佳答案
您可以使用 mapply
并设置要循环的列序列来执行类似的操作。
colpicks <- seq(10,1000,by=10)
mapply(function(start,stop) seqdef(df[,start:stop]), colpicks-9, colpicks)
关于r - 在 R 中一次循环 10 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15672468/