r扩展.grid以提供每个组合-并非如预期的那样
我甚至不知道如何给它一个更好的,不明显重复的类型,标题,但我认为这是一个关于expand.grid的不同问题 我有一个变量列表,我需要一个data.frame或每个可能组合的列表,以便输入一点有序回归 列表:r扩展.grid以提供每个组合-并非如预期的那样,r,R,我甚至不知道如何给它一个更好的,不明显重复的类型,标题,但我认为这是一个关于expand.grid的不同问题 我有一个变量列表,我需要一个data.frame或每个可能组合的列表,以便输入一点有序回归 列表: > indVars <- as.list(c("T.P","T.M","T.S","E")) > out List of (?) : "T.P" : "T.M" : "T.S" : "E" : "T.P" "T.M" : "T.P" "T.S" : "T.P" "E
> indVars <- as.list(c("T.P","T.M","T.S","E"))
> out List of (?)
: "T.P"
: "T.M"
: "T.S"
: "E"
: "T.P" "T.M"
: "T.P" "T.S"
: "T.P" "E"
.
.
.
: "T.P" "T.M" "T.S" "E"
尝试的:
> indVars <- as.list(c("T.P","T.M","T.S","E"))
> out List of (?)
: "T.P"
: "T.M"
: "T.S"
: "E"
: "T.P" "T.M"
: "T.P" "T.S"
: "T.P" "E"
.
.
.
: "T.P" "T.M" "T.S" "E"
expand.grid(indVars)
给出一行
>展开.grid(indVars)
Var1 Var2 Var3 Var4
1 T.P T.M T.S.E
expand.grid(indVars,indVars)
给出所有两个变量组合的16行,但不提供3或4行,其中indVars[i]==indVars[i]
(因此得到如下行
expand.grid(indVars,indVars)[1,]
Var1 Var2
1 T.P T.Pexpand.grid(indVars,indVars,indVars,indVars)
放弃所有组合(256个组合),但同样地,您最终得到的行具有相同indVar的多个实例。例如:
expand.grid(indVars,indVars,indVars,indVars)[241,]
Var1 Var2 Var3 Var4
241 T.P T.P.E请求:有人能指出如何将这个由4个变量组成的列表扩展到1、2、3和4个变量的每个组合中,并且没有重复项吗?可能这是一个XY问题,有更好的方法来进行顺序回归 我怀疑顺序无关紧要。使用
combn
:
res <- lapply(seq_along(indVars), combn, x = indVars, simplify = FALSE)
unlist(res, FALSE)
# [[1]]
# [1] "T.P"
#
# [[2]]
# [1] "T.M"
#
# [[3]]
# [1] "T.S"
#
# [[4]]
# [1] "E"
#
# [[5]]
# [1] "T.P" "T.M"
#
# [[6]]
# [1] "T.P" "T.S"
#
# [[7]]
# [1] "T.P" "E"
#
# [[8]]
# [1] "T.M" "T.S"
#
# [[9]]
# [1] "T.M" "E"
#
# [[10]]
# [1] "T.S" "E"
#
# [[11]]
# [1] "T.P" "T.M" "T.S"
#
# [[12]]
# [1] "T.P" "T.M" "E"
#
# [[13]]
# [1] "T.P" "T.S" "E"
#
# [[14]]
# [1] "T.M" "T.S" "E"
#
# [[15]]
# [1] "T.P" "T.M" "T.S" "E"
res如果您的最终目标是实际拟合所有可能的预测因子组合的模型,那么请查看MuMIn::drage
drage
似乎对有序回归对象感到满意(请参阅)。另请参阅。