将行名称转换为第一列

我有一个像这样的数据框:


df

              VALUE              ABS_CALL DETECTION P-VALUE    

    1007_s_at "957.729231881542" "P"      "0.00486279317241156"

    1053_at   "320.632701283368" "P"      "0.0313356324173416" 

    117_at    "429.842323161046" "P"      "0.0170004527476119" 

    121_at    "2395.7364289242"  "P"      "0.0114473584876183" 

    1255_g_at "116.493632746934" "A"      "0.39799368200131"   

    1294_at   "739.927122116896" "A"      "0.0668649772942343" 

我想将行名转换为第一列。目前,我使用这样的方法将行名作为第一列:


  d <- df

  names <- rownames(d)

  rownames(d) <- NULL

  data <- cbind(names,d)

有没有一行可以做到这一点?


幕布斯7119047
浏览 5620回答 4
4回答

斯蒂芬大帝

另外,您可以创建一个新的数据框(或覆盖当前数据框,如下例所示),因此您无需使用任何外部包。但是,这种方法对于大型数据帧可能不是有效的。df <- data.frame(names = row.names(df), df)

陪伴而非守候

根据以上建议,将我的评论移至答案中:您不需要额外的程序包,这是一个单行代码:d <- cbind(rownames(d), data.frame(d, row.names=NULL))
打开App,查看更多内容
随时随地看视频慕课网APP