r - 如何将 for 循环与特殊 seq 一起使用

标签 r arrays for-loop seq

我想创建一个 for 循环,其中 seq 是数组的元素。

就像我有一个这样的数组:

int <- array(c(30,60,150,300,450,1500))

我希望第一个 j 是 30,第二个是 60 ...等等。

但是当我明显尝试这个时:

for (j in int)

这不起作用。

我该如何解决这个问题?

最佳答案

我们可以使用嵌入

m1 <- embed(c(int, int), length(int))[seq_along(int),]
m1[lower.tri(m1)] <- NA
lapply(asplit(m1, 1), function(x) rev(x[!is.na(x)]))
#[[1]]
#[1]   30   60  150  300  450 1500

#[[2]]
#[1]   60  150  300  450 1500

#[[3]]
#[1]  150  300  450 1500

#[[4]]
#[1]  300  450 1500

#[[5]]
#[1]  450 1500

#[[6]]
#[1] 1500

或者使用for循环

out <- vector('list', length(int))
for(i in seq_along(int)) out[[i]] <- if(i == 1) int else int[-seq(i -1)]

关于r - 如何将 for 循环与特殊 seq 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66390340/

相关文章:

javascript - 每个 : $.、.ForEach、for 循环或其他哪个最快?

r - 如何将标签与圆环图中的中间/中心对齐

r - 有什么办法让R Shiny支持多用户吗?我说的是数百个并发用户

r - geom_dotplot() 在应用色彩美学后失去了闪避

java - Android xml 中的嵌套数组

javascript - 遍历数组以返回数组的名称

javascript - 用于快速迭代的 jquery range 实用程序(原型(prototype)的 $R 等效项)

for-loop - 在 for 循环中重复调用内核的 CUDA 程序的性能受到影响

r - R Markdown 中的 YouTube 视频

javascript - 在多次出现的项目中,仅删除第二个