首页 > 解决方案 > 生成此序列的通用函数: 1 4 3 6 5 8 7 10 9 12 用于 R 中的前 n=100 个数字

问题描述

我正在尝试在 R 中编写一个通用函数来生成这个序列:第一个 n=100 数字为 1 4 3 6 5 8 7 10 9 12。

我试图生成两个向量,一个用于从 1 开始的奇数,一个用于从 4 开始的偶数,并尝试连接 c(x[i],y[i]) 使用循环来生成序列。

x<-seq.int(1,100,2)
y<-seq.int(4,100,2)
seqxy<-c(x,y){
for(i in 1:12){seqxy[i]<-c(x[i],y[i])
}
return(seqxy)

}

尝试运行循环时收到错误消息。“错误:找不到对象‘seqxy’”

标签: r

解决方案


您可以生成两个长度为 100 的向量,并根据当前索引是奇数还是偶数来使用每个向量中的元素:

x = 1:100
y = 3:102

ifelse(seq_along(x) %% 2, x, y)

输出:

[1]   1   4   3   6   5   8   7  10   9  12  11  14 ...

推荐阅读