R函数将列表映射到列表列表

时间:2015-02-25 10:30:31

标签: r sampling

我已经看到这个答案来获取一个数字列表并将一个函数应用于每个元素以制作修改后的列表:https://stackoverflow.com/a/26164349/115237

给出这样一个列表:

# x <- sample(seq(1, 91, 10))
x <- c(1, 61, 81, 51, 41, 71, 31, 21, 11, 91)

如何应用函数/使用列表推导来获取每个元素然后&#34;加载项&#34;接下来的9个数字,返回上面的列表:

c(1:10, 61:70, 81:90, 51:60, 41:50, 71:80, 31:40, 21:30, 11:20, 91:100)

我用这个来自己进行抽样,一次得到10个块:前十个,然后是60个,然后是80个,......我一直试图使用这样的功能:

f1 <- function(x) {seq(x,x+10)}

此外,是否有用于此类采样的内置工具 - 您还可以在采样中进行替换?

2 个答案:

答案 0 :(得分:3)

您可以使用

as.vector(mapply(seq, from = x, to = x+9))

答案 1 :(得分:0)

或者你可以做到

 c(matrix(x+rep(0:9,each=length(x)),ncol=10, byrow=TRUE))