在R中生成多个子集

Netbrian

我有一个很大的字节序列,我想生成一个包含该序列的任意数量的子集的列表。我怀疑我需要使用apply函数之一,但是诀窍在于我需要遍历起始位置的向量,而不是序列本身。

这是我希望它如何工作的示例-

extrct_by_mod <- function(x, startpos, endpos, lrecl)
{
  x[1:length(x) %% lrecl %in% startpos:endpos]
}

tmp_seq <- letters[1:25]

startpos <- c(0, 2)
endpos   <- c(1, 5)
lrecl    <- 5

list_one   <- extrct_by_mod(x=tmp_seq, startpos=startpos[1], endpos=endpos[1], lrecl=lrecl)
list_two   <- extrct_by_mod(x=tmp_seq, startpos=startpos[2], endpos=endpos[2], lrecl=lrecl)

what_i_want <- list(list_one, list_two)

理想情况下,我希望能够仅向startpos和endpos添加更多值,从而自动生成更多子集以添加到我的列表中。请注意,这些子集的长度将不同,在某些情况下甚至不会具有相同的类型。

我的数据集相当大,因此可以很好地进行扩展。我意识到这可以通过循环来完成,但是我了解到您通常希望避免在R中循环。

谢谢!

财务管理师

通过预先计算模选择索引来节省一些时间:

> cats <- 1:length(tmp_seq) %% lrecl
> mapply(function(start,end) { tmp_seq[cats %in% start:end]} , startpos, endpos)
[[1]]
 [1] "a" "e" "f" "j" "k" "o" "p" "t" "u" "y"

[[2]]
 [1] "b" "c" "d" "g" "h" "i" "l" "m" "n" "q" "r" "s" "v" "w" "x"

(R apply函数的速度比等效循环快是不正确的。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对数据帧(R)内的多个子集执行操作

来自分类Dev

在R中生成多个xlsx输出

来自分类Dev

如何在R中生成多个矩阵

来自分类Dev

多个子集的qqnorm绘图

来自分类Dev

多个子集的qqnorm绘图

来自分类Dev

在Python中生成部分子集

来自分类Dev

如何在MYSQL中生成子集?

来自分类Dev

用较短的代码在R中生成多个滞后

来自分类Dev

在R中生成多个字符的(随机)序列

来自分类Dev

使用多个条件进行匹配以在R中生成值

来自分类Dev

如何在R中生成多个不同长度的向量?

来自分类Dev

尝试在R中生成和存储多个KDE模型

来自分类Dev

在 R 中生成热图(多个自变量)

来自分类Dev

未在 HTML 中生成 R Markdown 多个选项卡

来自分类Dev

在R中的多个子集中正确使用sapply和Anova

来自分类Dev

R中具有唯一计数和总和的多个子集

来自分类Dev

在R中的多个子集上正确使用Anova和sapply

来自分类Dev

在Maven中生成多个工件

来自分类Dev

列表中的R个子集列

来自分类Dev

每个子类在表中生成Hibernate子类ID

来自分类Dev

如何在循环中对数据进行子集然后对r中生成的数据帧数据进行循环

来自分类Dev

在R中生成晶格路径

来自分类Dev

在R中生成子序列

来自分类Dev

在R中生成偏好矩阵?

来自分类Dev

在R中生成逻辑矩阵

来自分类Dev

在 R 中生成随机向量

来自分类Dev

在 R 中生成代理数据

来自分类Dev

WPF TreeView绑定多个子集合

来自分类Dev

WPF TreeView绑定多个子集合