生成重复序列

时间:2010-06-23 14:57:55

标签: r sequence repeat

我需要使用R:

生成以下格式的向量
1:10, 1:10, 11:20, 11:20, ... 121:130, 121:130

是否有比创建12个向量更简单的方法,然后重复每个向量两次?

6 个答案:

答案 0 :(得分:18)

你也可以这样做:

rep(1:10, 26) + rep(seq(0,120,10), each=20)

答案 1 :(得分:3)

这是你想要的吗?

unlist(lapply(rep(seq(1, 121, by=10), each=2), function(x) seq(x, x+9)))

答案 2 :(得分:3)

另一种方式:

x <- matrix(1:130, 10, 13)
c(rbind(x, x))

可能更高效的版本:

x <- 1:130
dim(x) <- c(10,13)
c(rbind(x, x))

答案 3 :(得分:2)

或者,您可以使用repouter的组合,例如:

c(outer(1:10,rep(0:12,each=2),function(x,y)10*y+x))

答案 4 :(得分:1)

我想这会帮到你。

x <- ((0:12)*10)+1
y <- x + 9

repeatVectors <- function(x,y){
    rep(seq(x,y),2)
}

z <- mapply(repeatVectors, x,y)
z <- as.vector(z)

答案 5 :(得分:1)

使用intfield的方法是

NSMutableArray *array = [[NSMutableArray alloc] init];

FMResultSet *s = [db executeQuery:@"SELECT * FROM myTable"];
while ([s next]) {
     NSString *idNumber = [result stringForColumn:@"id"];
     [array addObject:idNumber];
}