gpt4 book ai didi

regex - 如何使用 strsplit() 访问 R 列表中的元素?

转载 作者:行者123 更新时间:2023-12-01 08:29:19 25 4
gpt4 key购买 nike

我有一个 R 列表 list1,其中一个字段由两个字符串连接在一起。

当我们访问 list1 的字段 field3 时,它看起来像这样

list1$field2

[1] "stringA, stringB"
[2] "stringA, stringB"
[3] "stringA, stringB"
[4] "stringA, stringB"
[5] "stringA, stringB"
[6] "stringA, stringB"
....

我只想访问条目“stringB”,而忽略“stringA”。

如果我使用类似 strsplit() 的东西,我会得到以下信息:

strsplit(list1$field2, ",")
[[1]]
[1] "stringA"
[2] "stringB"
[[2]]
[1] "stringA"
[2] "stringB"
....

这是一个列表,其中每个成员都有两个元素。如何只访问第二个元素?有没有办法使它在语法上更紧凑?

最佳答案

“tidyverse”方法类似于@GavinSimpson 评论中的建议:

library(purrr)
library(stringr)

x <- rep("stringA, stringB", 10)

str_split(x, ", ") %>% map_chr(`[`, 2)
#> [1] "stringB" "stringB" "stringB" "stringB" "stringB" "stringB" "stringB"
#> [8] "stringB" "stringB" "stringB"
  • str_split() 的行为类似于 strsplit()
  • map_chr() 的作用类似于 lapply(),但还将结果列表转换为字符向量。

对于您的问题,将 x 替换为 list1$field2

关于regex - 如何使用 strsplit() 访问 R 列表中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480090/

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