为所有列表项中的定界值分配键。

我有以下数据结构。

keys <- c("key1", "key2", "key3")
values <- c("val1_val2_val3", "wert1_wert2_wert3", "n1_n2_n3", "out1_out2_out3")

我想把这些列表组合起来 这样每个键都会被映射到每个列表元素的对应块上。例如,请求第一条的响应是 key1 应该屈服于。

response$key1
> "val1" "wert1" "n1" "out1"

你知道如何解决这个任务吗?

解决方案:

在基础R中,我们可以拆分 values 关于 '_',将它们合并为矩阵并按列分割。

response <- setNames(asplit(do.call(rbind, strsplit(values, "_")), 2), keys)
#Similarly
#response <- setNames(asplit(do.call(cbind, strsplit(values, "_")), 1), keys)
response

#$key1
#[1] "val1"  "wert1" "n1"    "out1" 

#$key2
#[1] "val2"  "wert2" "n2"    "out2" 

#$key3
#[1] "val3"  "wert3" "n3"    "out3" 

这很短,几乎给出了类似的输出

purrr::transpose(strsplit(values, "_"), .names = keys)

给TA打赏
共{{data.count}}人
人已打赏
未分类

grep pygdal

2022-9-9 1:39:17

未分类

Mysql查询编号组行。

2022-9-9 1:39:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索