我想将列名转换为R中的标识列

我想将列名转换为R中的标识列,r,reshape2,R,Reshape2,嘿,伙计们,我对R很陌生,所以如果这是个愚蠢的问题,我道歉。我有一个如下所示的数据框: Gelatin Geltrex Combo Control 1 0.761 0.732 0.557 0.723 2 0.704 0.712 0.764 0.540 3 0.580 0.435 0.351 0.537 我想以2列结束;一个是行中的数字,另一个是当前列名作为数字标识符的列?如果我们需要行/列索引,我们可以使用row和col获取行/列索引,并使用data.fra

嘿,伙计们,我对R很陌生,所以如果这是个愚蠢的问题,我道歉。我有一个如下所示的数据框:

Gelatin Geltrex Combo Control
1   0.761   0.732 0.557   0.723
2   0.704   0.712 0.764   0.540
3   0.580   0.435 0.351   0.537

我想以2列结束;一个是行中的数字,另一个是当前列名作为数字标识符的列?

如果我们需要行/列索引,我们可以使用
row
col
获取行/列索引,并使用
data.frame
创建一个新的数据集

df2 <- data.frame(Row= c(row(df1)), 
               Col=names(df1)[col(df1)], stringsAsFactors=FALSE)
编辑: 如果我们需要
和列名作为两列,只需
melt
或使用@thelatemail提到的
stack

melt(df1)
堆栈
来自
基本R

stack(df1)

也许你可以使用tidyr软件包中的gather

> library(tidyr)
> df = data.frame(a = c(1,2,3), b = c(4,5,6), d = c(7, 8, 9))
> newdf = gather(df, columnNames, values)

  columnNames values
1           a      1
2           a      2
3           a      3
4           b      4
5           b      5
6           b      6
7           d      7
8           d      8
9           d      9

stack(df1)
我想他们想要。我在读字里行间的内容,OP可能会明确他们想要什么。@最近的邮件可能你是对的。我以为OP需要行/列索引。堆栈(df1)完成了我想要的。非常感谢你们的帮助!
> library(tidyr)
> df = data.frame(a = c(1,2,3), b = c(4,5,6), d = c(7, 8, 9))
> newdf = gather(df, columnNames, values)

  columnNames values
1           a      1
2           a      2
3           a      3
4           b      4
5           b      5
6           b      6
7           d      7
8           d      8
9           d      9