如何将行名称和列名转换为因子或R中的某个字段?

如何将行名称和列名转换为因子或R中的某个字段?,r,R,如何使用行名称和列名转换以下矩阵(或表/数据框) A B M 27143 18324 F 29522 18875 变成 27143 M A 18324 M B 29522 F A 18875 F B 因此,我可以在R?中进行一些分析,您可以使用reformae2包和melt数据 temp = read.table(header=TRUE, text=" A B M 27143 18324 F 29522 1

如何使用行名称和列名转换以下矩阵(或表/数据框)

    A       B
M   27143   18324
F   29522   18875
变成

27143  M  A
18324  M  B
29522  F  A
18875  F  B

因此,我可以在R?

中进行一些分析,您可以使用
reformae2
包和
melt
数据

temp = read.table(header=TRUE, text="    A       B
M   27143   18324
F   29522   18875")
library(reshape2)
temp$id = rownames(temp)
melt(temp)
# Using id as id variables
# id variable value
# 1  M        A 27143
# 2  F        A 29522
# 3  M        B 18324
# 4  F        B 18875

您还可以使用
data.table
将行名称添加为第一列,然后根据它们的行名称将其熔化

df<- structure(list(A = c(27143L, 29522L), B = c(18324L, 18875L)), .Names = c("A", 
"B"), class = "data.frame", row.names = c("M", "F"))

library(data.table)
library(reshape2)
setDT(df, keep.rownames = TRUE)[]

#   rn     A     B
#1:  M 27143 18324
#2:  F 29522 18875

(melt(df, id.vars="rn"))
#   rn variable value
#1:  M        A 27143
#2:  F        A 29522
#3:  M        B 18324
#4:  F        B 18875

请使用此处详述的
dput()
:数据的来源是什么?这是
table()
的结果吗?非常感谢!正是我想要的。出于好奇,有没有办法恢复这个过程?换句话说,“不融化”它?找到了!dcast或acast是答案。我无法使用
gather
重现该示例。你能提供更多细节吗?谢谢!
library(tidyr)
gather(df, "rn")
#  rn rn value
#1  M  A 27143
#2  F  A 29522
#3  M  B 18324
#4  F  B 18875