如何高效将带名称的R向量转换为保留行名的数据框/tibble
更高效的向量转带行名数据框/tibble方法
针对你手头的命名向量,有几种比现有方法更简洁高效的转换方式:
基础R一步转数据框
用as.data.frame()可以直接把命名向量转成带行名的数据框,自动把向量名称设为行名,还能指定列名:# 生成带行名的数据框,列名为"value" mydf <- as.data.frame(myvec, responseName = "value")如果需要转成tibble格式,后续加
as_tibble()即可;要是想让tibble保留行名结构,再结合column_to_rownames():mytibble <- as.data.frame(myvec, responseName = "value") %>% as_tibble() %>% column_to_rownames()用tibble包的
enframe()简化流程enframe()是tibble包专门用来处理命名向量的工具,能直接把向量拆成"名称-值"的tibble,再转成行名只需一步:library(tibble) mytibble <- enframe(myvec) %>% column_to_rownames("name")这个方法不用单独提取向量名称,代码连贯且少了中间变量。
直接构造数据框
用基础R的data.frame()直接指定行名和列值,一步到位:mydf <- data.frame(value = myvec, row.names = names(myvec))
内容的提问来源于stack exchange,提问作者Wilson Souza
相关产品推荐
相关产品推荐

