gpt4 book ai didi

r - 获取R中列表列表元素的长度

转载 作者:行者123 更新时间:2023-12-04 11:08:06 24 4
gpt4 key购买 nike

这是我的名为 dico 的列表:

dico <- list(list(list(c("dim.", "dimension", "dimensions", "mesures"
), c("45 cm", "45", "45 CM", "0.45m")), list(c("tamano", "volumen",
"dimension", "talla"), c("45 cm", "45", "0.45 M", "45 centimiento"
)), list(c("measures", "dimension", "measurement"), c("45 cm",
"0.45 m", "100 inches", "100 pouces"))), list(list(c("poids",
"poid", "poids net"), c("100 grammes", "100 gr", "100")), list(
c("peso", "carga", "peso especifico"), c("100 gramos", "100g",
"100", "100 g")), list(c("weight", "net wieght", "weight (grammes)"
), c("100 grams", "100", "100 g"))), list(list(c("Batterie oui/non",
"batterie", "présence batterie"), c("Oui", "batterie", "OUI"
)), list(c("bateria", "bateria si or no", "bateria disponible"
), c("si", "bateria furnindo", "1")), list(c("Battery available",
"battery", "battery yes or no"), c("yes", "Y", "Battery given"
))))

视觉上看起来像:
[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[1] "dim." "dimension" "dimensions" "mesures"

[[1]][[1]][[2]]
[1] "45 cm" "45" "45 CM" "0.45m"


[[1]][[2]]
[[1]][[2]][[1]]
[1] "tamano" "volumen" "dimension" "talla"

[[1]][[2]][[2]]
[1] "45 cm" "45" "0.45 M" "45 centimiento"


[[1]][[3]]
[[1]][[3]][[1]]
[1] "measures" "dimension" "measurement"

[[1]][[3]][[2]]
[1] "45 cm" "0.45 m" "100 inches" "100 pouces"



[[2]]
[[2]][[1]]
[[2]][[1]][[1]]
[1] "poids" "poid" "poids net"

[[2]][[1]][[2]]
[1] "100 grammes" "100 gr" "100"


[[2]][[2]]
[[2]][[2]][[1]]
[1] "peso" "carga" "peso especifico"

[[2]][[2]][[2]]
[1] "100 gramos" "100g" "100" "100 g"


[[2]][[3]]
[[2]][[3]][[1]]
[1] "weight" "net wieght" "weight (grammes)"

[[2]][[3]][[2]]
[1] "100 grams" "100" "100 g"
...

我想获得列表中所有元素的所有长度。所以我想要一个看起来像这样的输出:
[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[1] 3

[[1]][[1]][[2]]
[1] 4


[[1]][[2]]
[[1]][[2]][[1]]
[1] 4

[[1]][[2]][[2]]
[1] 4


[[1]][[3]]
[[1]][[3]][[1]]
[1] 3

[[1]][[3]][[2]]
[1] 4



[[2]]
[[2]][[1]]
[[2]][[1]][[1]]
[1] 3

[[2]][[1]][[2]]
[1] 3


[[2]][[2]]
[[2]][[2]][[1]]
[1] 3

[[2]][[2]][[2]]
[1] 4


[[2]][[3]]
[[2]][[3]][[1]]
[1] 3

[[2]][[3]][[2]]
[1] 3
...

我知道我应该使用 lapply、sapply 和其他东西,但我卡住了几个小时。你会怎么做?

最佳答案

我们可以使用 lapply 的递归版本即 rapply

rl <- rapply(dico, length, how="list")
rl
#[[1]]
#[[1]][[1]]
#[[1]][[1]][[1]]
#[1] 4

#[[1]][[1]][[2]]
#[1] 4


#[[1]][[2]]
#[[1]][[2]][[1]]
#[1] 4

#[[1]][[2]][[2]]
#[1] 4
#---

关于r - 获取R中列表列表元素的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084245/

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