gpt4 book ai didi

list - 生成每个列表项中项数的向量

转载 作者:行者123 更新时间:2023-12-03 22:01:27 25 4
gpt4 key购买 nike

我有一个包含 98 个项目的列表。但每个项目包含 0、1、2、3、4 或 5 个字符串。

我知道如何获得列表的长度,实际上 someone has asked the question before并且因为大概问了这么简单的问题而被否决了。

但是我想要一个长度为 98 个元素的向量,每个元素都是一个从 0 到 5 的整数,告诉我每个列表项中有多少个字符串。
我期待以下工作,但它没有。

lapply(name.of.list,length())

从我的问题中,您会看到我并不真正了解列表和项目的命名法。随意纠正我。

最佳答案

Farrel,我并不完全遵循,因为“项目”不是 R 类型。也许你有一个 list长度为 98,其中每个元素是字符串的向量?

在这种情况下,请考虑:

R> fl <- list(A=c("un", "deux"), B=c("one"), C=c("eins", "zwei", "drei"))
R> lapply(fl, function(x) length(x))
$A
[1] 2

$B
[1] 1

$C
[1] 3
R> do.call(rbind, lapply(fl, function(x) length(x)))
[,1]
A 2
B 1
C 3
R>

所以你有列表长度的向量,告诉你每个列表元素有多少个字符串。注意最后一个 do.call(rbind, someList)因为我们从 lapply 得到了一个列表.

另一方面,如果您想计算每个列表位置的所有字符串的长度,请替换简单的 length(x)使用新函数计算字符:
R> lapply(fl, function(x) { sapply(x, function(y) nchar(y)) } )
$A
un deux
2 4

$B
one
3

$C
eins zwei drei
4 4 4

R>

如果这不是您想要的,也许您可​​以模拟一些示例输入数据?

编辑: : 针对你的评论,你想要的可能是:
R> do.call(rbind, lapply(fl, length))
[,1]
A 2
B 1
C 3
R>

请注意,我传入了 length ,函数名,而不是 length() ,(显示的)函数体。因为这很容易混淆,所以我只是像在我的第一个答案中一样应用几乎总是包裹一个匿名函数。

是的,这也可以通过 sapply 来完成。甚至一些 **ply职能:
R> sapply(fl, length)
A B C
2 1 3
R> lapply(fl, length)
[1] 2 1 3
R>

关于list - 生成每个列表项中项数的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079784/

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