首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行简单的模式编码

如何进行简单的模式编码
EN

Stack Overflow用户
提问于 2021-05-02 07:45:14
回答 2查看 50关注 0票数 1

如果我想要这样的数字编码,你能给我一些关于编码的建议吗?

代码语言:javascript
复制
1
2 3
6 5 4
7 8 9 10
15 14 13 12 11
...........

谢谢!!

EN

回答 2

Stack Overflow用户

发布于 2021-05-02 07:59:05

另一个基本R选项

代码语言:javascript
复制
v <- choose((1:5) + 1, 2)
Map(function(x, y) {
  ifelse(x %% 2, rev, I)((y - x + 1):y)
}, seq_along(v), v)

给出

代码语言:javascript
复制
[[1]]
[1] 1

[[2]]
[1] 2 3

[[3]]
[1] 6 5 4

[[4]]
[1]  7  8  9 10

[[5]]
[1] 15 14 13 12 11
票数 4
EN

Stack Overflow用户

发布于 2021-05-02 07:47:10

以下是split的一种选择

代码语言:javascript
复制
lst1 <- split(1:15, rep(1:5, 1:5))
lst1[c(TRUE, FALSE)] <- lapply(lst1[c(TRUE, FALSE)], rev)

-output

代码语言:javascript
复制
lst1
#$`1`
#[1] 1

#$`2`
#[1] 2 3

#$`3`
#[1] 6 5 4

#$`4`
#[1]  7  8  9 10

#$`5`
#[1] 15 14 13 12 11

或者另一种选择是

代码语言:javascript
复制
m1 <- matrix(NA, 5, 5)
m1[upper.tri(m1, diag = TRUE)] <- 1:15
m1 <- t(m1)
m1[c(TRUE, FALSE),] <-  t(apply(m1[c(TRUE, FALSE),], 1, 
     function(x) c(rev(x[!is.na(x)]), x[is.na(x)])))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67351799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档