gpt4 book ai didi

r - 计算列表列表中的项目

转载 作者:行者123 更新时间:2023-12-04 09:35:53 24 4
gpt4 key购买 nike

我有一个长度相同的列表 (l1,l2,l3) 的列表 (ll)。

l1 <- list( c("a","b","c") , c("d","e","f") , c(NULL) )
l2 <- list( c("a","b") , c("d","e") , c(NULL) )
l3 <- list( c("a") , c("d") , c("g") )
ll <- list(l1,l2,l3)
str(ll)
List of 3
$ :List of 3
..$ : chr [1:3] "a" "b" "c"
..$ : chr [1:3] "d" "e" "f"
..$ : NULL
$ :List of 3
..$ : chr [1:2] "a" "b"
..$ : chr [1:2] "d" "e"
..$ : NULL
$ :List of 3
..$ : chr "a"
..$ : chr "d"
..$ : chr "g"

有没有办法创建一个(汇总?)表来计算/比较每个列表中有多少项目,而不是使用 for/循环?

我正在考虑这样的输出:
list 1 2 3
l1 3 3 0
l2 2 2 0
l3 1 1 1

最佳答案

你可以试试:

t(sapply(ll, function(x) lapply(x,length)))

# [,1] [,2] [,3]
#[1,] 3 3 0
#[2,] 2 2 0
#[3,] 1 1 1

编辑:

正如@Ryan 在评论中指出的那样,以下内容对其进行了简化:
t(sapply(ll, lengths))

关于r - 计算列表列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841574/

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