gpt4 book ai didi

r - 如何一次访问R中的所有子列表元素?

转载 作者:行者123 更新时间:2023-12-02 03:14:30 30 4
gpt4 key购买 nike

我有一个向量的分割字符串,例如

df <- c("Test A:No1", "Test B:No2")
l <- str_split(df, ":")
l

返回我

[[1]]
[1] "Test A" "No1"

[[2]]
[1] "Test B" "No2"

现在我有兴趣独立访问所有第一个元素和所有最后一个元素或创建一个像这样的向量

[1] "Test A" "Test B"

[1] "No1" "No2"

我尝试了几种类型的单括号和双括号,带或不带逗号,但 l[[x]][1] 或 l[[x]][2] 只给我列表元素 x。

如何一次访问所有元素(例如 l[[]][1] )?

最佳答案

您可以使用sapply

sapply(l, `[`, 1)
# [1] "Test A" "Test B"

sapply(l, `[`, 2)
# [1] "No1" "No2"

解释:在 R 中,一切都是函数。另外,括号 `[` 实际上是函数。考虑以下示例可以清楚地了解为什么上面的 sapply 有效。

示例

考虑这个向量

x <- c("A", "B")

我们在做什么

x[1]
# [1] "A"
x[2]
# [2] "B"

我们实际上应用了 `[` 函数底层前缀形式的特殊形式:

`[`(x, 1)
# [1] "A"
`[`(x, 2)
# [1] "B"

关于r - 如何一次访问R中的所有子列表元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578525/

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