vector和data.frame的相互转换

准备一个带names的向量

a_vector <- c("a","b","c","d")
names(a_vector) <- c("A","B","C","D")

a_vector
##  A   B   C   D 
##"a" "b" "c" "d" 

将带names的vector转换为单列data.frame

as.data.frame() 是数据框,行名为原向量names,列名为原对象名称。

a_data.frame <- as.data.frame(a_vector)
View(a_data.frame)
image.png

将带有行名的data.frame转换为带names的vector

方法一:as.vector()

as.vector() 并未将向量转换为向量。毕竟是个数据框,不管单列还是多列内容需要选定列。

b_vector <- as.vector(a_data.frame$a_vector) 

b_vector ## 无names的向量
## [1] "a" "b" "c" "d"

class(b_vector)
## [1] "character"

names(b_vector) <- rownames(a_data.frame)
b_vector ##带names的向量
##   A   B   C   D 
## "a" "b" "c" "d" 

方法二:dplyr::pull()

library(dplyr)
library(tibble)
c_vector <-  a_data.frame %>% 
                rownames_to_column() %>% #将rownames转到数据框内,新列名为rowname
                pull(var = a_vector, #将要转换为向量的内容
                     name = rowname # 将rowname列作为新向量的名称
                    )

c_vector #带names的向量
##   A   B   C   D 
## "a" "b" "c" "d" 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《R数据科学》的再次回顾学习,以及使用tidyverse过程中的一些new tricks学习记录。 [TOC] 前...
    Dawn_WangTP阅读 5,356评论 0 11
  • 基础知识 其优点 有大量统计建模,机器学习,可视化的相关包,快速实现你的想法 很前沿,因为统计学和机器学习的研究人...
    Liam_ml阅读 5,384评论 0 1
  • 2.6.2 数据框(data.frame) 数据框通常是矩阵形式的数据,但矩阵各列可以是不同类型的, 数据框每个列...
    Andrew_bao阅读 4,198评论 0 0
  • Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同...
    迷彩绿不褪色阅读 4,781评论 0 1
  • R语言与数据挖掘:公式;数据;方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还...
    __一蓑烟雨__阅读 5,639评论 0 5

友情链接更多精彩内容