嘿伙计们,我对 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
Run Code Online (Sandbox Code Playgroud)
我想最终得到两列;一个包含行中的数字,另一列包含当前列名称作为数字的标识符?
如果我们需要行/列索引,我们可以使用row
和col
来获取行/列索引并使用data.frame
.
df2 <- data.frame(Row= c(row(df1)),
Col=names(df1)[col(df1)], stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
或者另一个选择melt
来自library(reshape2)
. 我们将“data.frame”转换为“矩阵”,并melt
获取行/列名称作为前两列。
library(reshape2)
melt(as.matrix(df1))[-3]
Run Code Online (Sandbox Code Playgroud)
编辑:如果我们需要value
和 列名称作为两列,只需melt
或使用stack
@thelatemail 提到的
melt(df1)
Run Code Online (Sandbox Code Playgroud)
或stack
来自base R
stack(df1)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5628 次 |
最近记录: |