R语言如何将data.frame格式的list2转换为list1的命名向量格式
实现方法
直接用R基础包的setNames()函数一行就能搞定,不用装任何附加包:
# 待转换的数据框对象名为list2 res <- setNames(list2$to, list2$from)
- 第一个参数传你要当向量内容的
to列,第二个参数传要当向量名的from列,行对应关系不会乱 - 跑出来的
res就是你要的和list1结构完全一致的命名向量,直接打印就能看到和示例一样的名称-值对应格式。
如果你平时用tidyverse,也可以用tibble里的deframe(),写法更简洁:
library(tibble) res <- deframe(list2)
这个函数专门处理两列数据框转命名向量的场景,默认第一列做名称、第二列做值,刚好适配你的数据结构。
转换完可以跑identical(res, list1)校验,返回TRUE就说明和目标结构完全匹配。
内容的提问来源于stack exchange,提问作者Rossi
相关产品推荐
相关产品推荐

