怎样才能更优雅地做到这一点?我希望将键值对向量作为连接字符串转换为以键作为名称的值向量。
library(tidyverse)
library(purrr)
x <- c("key1|value1", "key2|value2")
# Current way
x_split <- x %>% str_split("\\|")
keys <- x_split %>% map(pluck(1)) %>% unlist()
values <- x_split %>% map(pluck(2)) %>% unlist()
y <- values %>% set_names(keys)
# More elegant way
y <- x %>% some_functions()
最佳答案
您可以在 str_split
中使用 simplify = TRUE
并使用 set_names
。
stringr::str_split(x, "\\|", simplify = TRUE) %>% {purrr::set_names(.[, 2], .[, 1])}
# key1 key2
#"value1" "value2"
关于R - 将二维向量转换为一维命名向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61492891/