從兩列的數(shù)據(jù)框轉(zhuǎn)變成第一列為行名的向量,
兩列數(shù)據(jù)讀入,如下:

dataframe
要轉(zhuǎn)變成如下向量:

vector
具體思路是先轉(zhuǎn)變成矩陣,設(shè)定行名,提取數(shù)據(jù),最后轉(zhuǎn)變成向量。
設(shè)定行名后,會多了一列,因此需要將V1那一列刪除。

image.png
操作如下:
geneList2 = read.table("01.geneList.txt")
g1 = as.matrix(geneList2)
rownames(g1)=g1[,1]
head(g1)
g2 = g1[,2]
is.vector(g2)

驗證是否向量
這樣就將一個兩列的數(shù)據(jù)框轉(zhuǎn)變成向量了。但這樣轉(zhuǎn)出來的向量并非數(shù)字向量,因為一列是字母,一列是數(shù)字,會默認(rèn)轉(zhuǎn)變成帶了雙引號的字符向量。
因此,如果需要數(shù)字向量,則可以如下操作:
geneList2 = read.table("01.geneList.txt")
g1 = as.matrix(geneList2)
g2 = apply(g1,2,as.numeric) ##轉(zhuǎn)變成數(shù)字矩陣,但第一列全部為NA
rownames(g2)= g1[,1] ##刪除NA列
g3 = g2[,2]
head(g3)
結(jié)果如下:

數(shù)字型向量