将每个值分配给单独的列表元素而不循环
Assign each value to separate list element without loop
让我们考虑以下数字:
set.seed(42)
x <- sample(100, replace = T)
evens <- x[x%%2 == 0]
我想将 evens 的每个元素作为列表的单独元素。所以用 for 做这个真的很简单:
lst <- list()
for (i in seq_len(length(evens))) lst[[i]] <- evens[i]
但是我不太确定如何在没有循环的情况下做到这一点。我认为使用 lapply
可以创造一些魔法,但我不知道如何使用它。你能帮帮我吗?
也许是这个?
tapply(x, x %% 2 == 0, function(x) x)
根据您的描述,您指的是像下面这样的列表吗?
as.list(evens)
如果你想使用lapply
,你可以试试
lapply(evens, c)
让我们考虑以下数字:
set.seed(42)
x <- sample(100, replace = T)
evens <- x[x%%2 == 0]
我想将 evens 的每个元素作为列表的单独元素。所以用 for 做这个真的很简单:
lst <- list()
for (i in seq_len(length(evens))) lst[[i]] <- evens[i]
但是我不太确定如何在没有循环的情况下做到这一点。我认为使用 lapply
可以创造一些魔法,但我不知道如何使用它。你能帮帮我吗?
也许是这个?
tapply(x, x %% 2 == 0, function(x) x)
根据您的描述,您指的是像下面这样的列表吗?
as.list(evens)
如果你想使用lapply
,你可以试试
lapply(evens, c)