【问题标题】:R - convert matrix to one-column table [duplicate]R - 将矩阵转换为单列表[重复]
【发布时间】:2018-06-20 12:24:44
【问题描述】:

我有这样的矩阵:

    a    b    c
x   1    2    3
y   3    3    2

我需要将其转换为如下所示的 data.frame

x a 1 
x b 2 
x c 3 
y a 3 
y b 3 
y c 2 

我知道 split() 应该可以工作,但我不能将 a、b、c 设置为行的第二个名称。我该怎么办?

【问题讨论】:

  • 您可以像这样使用 reshape2 中的 melt:reshape2::melt(M) 这将为您提供所需的输出

标签: r reshape


【解决方案1】:

你可以使用as.data.frame(as.table()):

m <- matrix(c(1,3,2,3,3,2), nrow = 2)
rownames(m) <- c("x", "y")
colnames(m) <- letters[1:3]

  a b c
x 1 2 3
y 3 3 2

as.data.frame(as.table(m))

  Var1 Var2 Freq
1    x    a    1
2    y    a    3
3    x    b    2
4    y    b    3
5    x    c    3
6    y    c    2

【讨论】:

    猜你喜欢
    • 2014-01-13
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2015-04-27
    • 2017-12-22
    相关资源
    最近更新 更多