gpt4 book ai didi

r - 通过取消列出然后重新列出将矢量化函数应用于列表

转载 作者:行者123 更新时间:2023-12-04 16:52:41 24 4
gpt4 key购买 nike

假设您有一个字符向量列表:

set.seed(42)
x <- lapply(sample(10:50), function(x) {
sapply(1:x, function(y) {
paste(sapply(y, sample, x=letters, size=sample(5:10, 1)), collapse='')
})
})

您想对整个列表应用矢量化操作。一种选择是 unlist(x),然后应用矢量化函数:

y <- nchar(unlist(x))

y 返回到与 x 相同的列表结构中的最有效方法是什么?有没有更好的方法来解决这个问题?

最佳答案

另一种方法是使用 as.relistablerelist 函数,如下所示:

y <- as.relistable(x)
z <- nchar( unlist(x) )
z <- relist(z,y)
str(head(z))
#List of 6
# $ : int [1:47] 7 8 6 6 6 5 8 10 10 5 ...
# $ : int [1:50] 7 9 9 6 7 10 7 6 10 8 ...
# $ : int [1:21] 8 7 9 5 9 10 5 5 8 9 ...
# $ : int [1:41] 5 9 9 9 5 5 5 5 10 9 ...
# $ : int [1:33] 9 5 9 9 8 9 7 9 6 10 ...
# $ : int [1:28] 5 5 5 9 8 8 8 6 9 6 ...

关于r - 通过取消列出然后重新列出将矢量化函数应用于列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com