r - 在 R 中一次循环 10 列

标签 r traminer sequence-alignment

我有一个包含 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/

相关文章:

r - 当函数采用不同列的多个参数时使用 dplyr mutate_at

r - 当 dput() 不起作用时该怎么办?

entropy - 解释熵大小的经验法则

R 如何可视化成对对齐

java - 全局序列比对动态规划寻找矩阵中的最小值

python - 使用英文字母对以母语书写的地址进行地理编码

regex - 列出与 R 中的完整路径模式匹配的所有文件

r - 将最常见的子串搜索到子序列中

R 环境错误 : Could not find Ghostscript on path. RWebLogo

r - 如何从分组数据框中的每个组中获取每个第 n 个元素