r - 如何对向量进行分区?

标签 r vector

我如何构建一个函数

slice(x, n) 

这将返回一个向量列表,其中每个向量除了最后一个向量的大小为 n,即
slice(letters, 10)

会回来
list(c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"),
     c("k", "l", "m", "n", "o", "p", "q", "r", "s", "t"),
     c("u", "v", "w", "x", "y", "z"))

?

最佳答案

slice<-function(x,n) {
    N<-length(x);
    lapply(seq(1,N,n),function(i) x[i:min(i+n-1,N)])
}

关于r - 如何对向量进行分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2434833/

相关文章:

r - 使用 glmnet 和 lm 的普通最小二乘法

r - 计算单词组合频率

r - 影响 R 数据帧中的值而不检查索引是否为空

c++ - 有哪些不同的可能方法可以降低给定程序中 vector 数组实现堆栈的时间复杂度……?

c++ - 删除[]后剩余的堆数组的剩余元素

r - 在 Shiny 应用程序中更改 bsModal 的背景

R:X 错误中的 NA/NaN/Inf

c++ - 静态 vector 不保存数据?

c++ - 在 for 循环中调用一个函数来删除 vector (或列表)中的元素

c++ - 将其中包含结构的 vector 序列化为 .dat 文件时,我做错了什么?