r - 生成此序列的通用函数: 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’”
解决方案
您可以生成两个长度为 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 ...
推荐阅读
- python - 如何在二维列表的项目中追加?
- javascript - 为什么 Object.assign() 拆分字符串并创建具有多个键的对象?
- mysql - 为什么Mysql决定在Order By子句中指定的列上使用索引而不存在于where子句中?
- php - 包含php文件的正确方法是什么
- azure - 带有错误代码的天蓝色实体框架问题未知错误:0x80070057
- javascript - 是否可以在 PostgreSQL 中使用 knex 返回()方法来返回操作表中的所有行
- javascript - Google Tracking function(i,s,o,g,r,a,m) 代码是如何工作的?
- java - 如何从多个单选组传递单选按钮值?如何解决返回第一个值?
- pandas - 使用 groupby.tail 后如何创建数据框
- python - How to add top level column to the existing dataframe in Python?