在 R 中,如何使用 、 、 、 等函数apply
替换lapply
以下rapply
代码do.call
?
u <- 10:12
slist <- list()
for (i in 1:length(u)) {
p <- combn(u, i)
for (j in 1:ncol(p)) {
s <- paste(p[,j], collapse=",")
slist[[s]] <- 0
}
}
对于这部分:
for (j in 1:ncol(p)) {
s <- paste(p[,j], collapse=",")
我试过类似的东西:
s <- apply(p, 2, function(x) paste(x, collapse=","))
哪个有效。但是对于slist[[s]] <- 0
同一个 for 循环中的那部分,我不知道该怎么做。
编辑:这就是我想要做的。对于向量u
,我正在生成该向量中所有子集的列表。然后对于每个子集,我将其分配给s
,然后将字符串s
用作 中元素的名称slist
。有点奇怪,我知道,但这是为了家庭作业。对于上面的代码,这将是 slist 的前 5 个元素:
> slist
$`10`
[1] 0
$`11`
[1] 0
$`12`
[1] 0
$`10,11`
[1] 0
$`10,12`
[1] 0
是的,我只是想学习如何正确使用 apply 和 stuff。