本文介绍了将行名转换为第一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的数据框架:
I have a data frame like this:
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"
我想将行名转换为第一列。目前我使用这样的方式使行名作为第一列:
I want to convert the row names into the first column. Currently I use something like this to make row names as the first column:
d <- df
names <- rownames(d)
rownames(d) <- NULL
data <- cbind(names,d)
有没有一行这样做?
推荐答案
你可以通过引用删除行名称并将其转换为列(使用 - >
不使用<$ c $重新分配内存) c> setDT 及其 keep.rownames = TRUE
参数从 data.table
You can both remove row names and convert them to a column by reference (without reallocating memory using ->
) using setDT
and its keep.rownames = TRUE
argument from the data.table
package
library(data.table)
setDT(df, keep.rownames = TRUE)[]
# rn VALUE ABS_CALL DETECTION P.VALUE
# 1: 1 1007_s_at 957.7292 P 0.004862793
# 2: 2 1053_at 320.6327 P 0.031335632
# 3: 3 117_at 429.8423 P 0.017000453
# 4: 4 121_at 2395.7364 P 0.011447358
# 5: 5 1255_g_at 116.4936 A 0.397993682
# 6: 6 1294_at 739.9271 A 0.066864977
这篇关于将行名转换为第一列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!