vector和data.frame的相互轉(zhuǎn)換

準備一個帶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轉(zhuǎn)換為單列data.frame

as.data.frame() 是數(shù)據(jù)框,行名為原向量names,列名為原對象名稱。

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

將帶有行名的data.frame轉(zhuǎn)換為帶names的vector

方法一:as.vector()

as.vector() 并未將向量轉(zhuǎn)換為向量。畢竟是個數(shù)據(jù)框,不管單列還是多列內(nèi)容需要選定列。

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轉(zhuǎn)到數(shù)據(jù)框內(nèi),新列名為rowname
                pull(var = a_vector, #將要轉(zhuǎn)換為向量的內(nèi)容
                     name = rowname # 將rowname列作為新向量的名稱
                    )

c_vector #帶names的向量
##   A   B   C   D 
## "a" "b" "c" "d" 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《R數(shù)據(jù)科學(xué)》的再次回顧學(xué)習(xí),以及使用tidyverse過程中的一些new tricks學(xué)習(xí)記錄。 [TOC] 前...
    Dawn_WangTP閱讀 1,576評論 0 11
  • 基礎(chǔ)知識 其優(yōu)點 有大量統(tǒng)計建模,機器學(xué)習(xí),可視化的相關(guān)包,快速實現(xiàn)你的想法 很前沿,因為統(tǒng)計學(xué)和機器學(xué)習(xí)的研究人...
    Liam_ml閱讀 1,588評論 0 1
  • 2.6.2 數(shù)據(jù)框(data.frame) 數(shù)據(jù)框通常是矩陣形式的數(shù)據(jù),但矩陣各列可以是不同類型的, 數(shù)據(jù)框每個列...
    Andrew_bao閱讀 847評論 0 0
  • Data Frame一般被翻譯為數(shù)據(jù)框,感覺就像是R中的表,由行和列組成,與Matrix不同的是,每個列可以是不同...
    迷彩綠不褪色閱讀 1,155評論 0 1
  • R語言與數(shù)據(jù)挖掘:公式;數(shù)據(jù);方法 R語言特征 對大小寫敏感 通常,數(shù)字,字母,. 和 _都是允許的(在一些國家還...
    __一蓑煙雨__閱讀 1,816評論 0 5

友情鏈接更多精彩內(nèi)容