美文网首页
两列data frame转换成带行名的vector

两列data frame转换成带行名的vector

作者: RaoZC | 来源:发表于2020-11-22 20:09 被阅读0次

    从两列的数据框转变成第一列为行名的向量,
    两列数据读入,如下:


    dataframe

    要转变成如下向量:


    vector

    具体思路是先转变成矩阵,设定行名,提取数据,最后转变成向量。
    设定行名后,会多了一列,因此需要将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)
    
    验证是否向量

    这样就将一个两列的数据框转变成向量了。但这样转出来的向量并非数字向量,因为一列是字母,一列是数字,会默认转变成带了双引号的字符向量。
    因此,如果需要数字向量,则可以如下操作:

    geneList2 = read.table("01.geneList.txt")
    g1 = as.matrix(geneList2)            
    g2 = apply(g1,2,as.numeric)       ##转变成数字矩阵,但第一列全部为NA
    rownames(g2)= g1[,1]              ##删除NA列
    g3 = g2[,2]
    head(g3)
    

    结果如下:


    数字型向量

    相关文章

      网友评论

          本文标题:两列data frame转换成带行名的vector

          本文链接:https://www.haomeiwen.com/subject/yicpiktx.html