用R排序字符矩阵的问题

时间:2017-11-09 19:45:16

标签: r dataframe matrix

首先,对不起我的英语,这不是我母亲的语言。

我有这样的字符矩阵。

L4 JUAN 6 1.345

L4 PEPE 8 1.5678

L4 JULIA 4 3.156

我想在第三栏订购矩阵。但矩阵是一个字符矩阵,我不知道如何将其转换为data.frame并正确排序。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

这是一个选项。请注意,设置stringsAsFactors = FALSE以避免在转换为数据框时创建因子非常重要。 dt2是最终输出。

# Concert to data frame
dt <- as.data.frame(m, stringsAsFactors = FALSE)

# Order by the third column
dt2 <- dt[order(dt[, 3]), ]

dt2
#   V1    V2 V3     V4
# 3 L4 JULIA  4  3.156
# 1 L4  JUAN  6  1.345
# 2 L4  PEPE  8 1.5678

数据

m <- matrix(c("L4", "JUAN", "6", "1.345", "L4", "PEPE", "8", "1.5678", "L4", "JULIA", "4", "3.156"),
            ncol = 4, byrow = TRUE)

答案 1 :(得分:0)

您可以使用以下代码

| col1 | col2 | col3 |
| 1    | 2    | foo  |
| 2    | 2    | foo  |
| 3    | 5    | foo  |