如何使用R中的任何应用函数从向量中迭代删除元素?
如何使用R中的任何Apply函数从向量中迭代删除元素 例如,假设如何使用R中的任何应用函数从向量中迭代删除元素?,r,vector,indexing,apply,R,Vector,Indexing,Apply,如何使用R中的任何Apply函数从向量中迭代删除元素 例如,假设a=c(1:5)。我需要迭代删除一个元素,以便获得以下输出的列表: 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 如何使用任何Apply函数来执行它?由于向量中的元素数量非常大,for循环需要很长的时间才能生成输出。如果您真的想使用apply函数,可以使用 t(sapply(a, setdiff, x=a)) 我们需要使用t() alist <- lapply
a=c(1:5)
。我需要迭代删除一个元素,以便获得以下输出的列表:
2 3 4 5
1 3 4 5
1 2 4 5
1 2 3 5
1 2 3 4
如何使用任何Apply函数来执行它?由于向量中的元素数量非常大,for循环需要很长的时间才能生成输出。如果您真的想使用
apply
函数,可以使用
t(sapply(a, setdiff, x=a))
我们需要使用
t()
alist <- lapply(1:length(a), function(as) {
a[-as]
})
alist以下是使用laply一次删除一个元素的方法:
library(plyr)
laply(1:length(a), function(x) a[-x])
1 2 3 4
[1,] 2 3 4 5
[2,] 1 3 4 5
[3,] 1 2 4 5
[4,] 1 2 3 5
[5,] 1 2 3 4