【问题标题】:How to sort dataframe by column header which is a mix of text and numbers [duplicate]如何按包含文本和数字的列标题对数据框进行排序[重复]
【发布时间】:2017-12-19 06:24:17
【问题描述】:

我有一个如下所示的数据框

   GR1-text GR11-text GR12-text GR2-text
A    1          1       0          0
B    1          0       1          1

我想将数据框排序为:

   GR1-text  GR2-text  GR11-text  GR12-test
A   1         0         1           0
B   1         1         0           1

我试过following 没用

test <- df[ , order(names(df))]

我也发现了这个custom function,但我看不到让它工作。

【问题讨论】:

  • GR-12-text 是错字吗?
  • 很抱歉。我现在改。谢谢
  • library(gtools); df[, mixedsort(names(df))]
  • @RonakShah 这行得通。感谢磨坊。你想把答案写在下面吗?
  • @AudileF 实际上这个问题之前已经被问过,因此,它被标记为与之前的问题重复。

标签: r sorting


【解决方案1】:

试试order(readr::parse_number(names(df)))。

【讨论】:

  • 感谢@F.Prive。但我收到一个错误Warning: 43 parsing failures. row # A tibble: 5 x 4 col row col expected actual expected &lt;int&gt; &lt;int&gt; &lt;chr&gt; &lt;chr&gt; actual 1 82 NA a number - row 2 83 NA a number - col 3 84 NA a number - expected 4 85 NA a number - actual 5 86 NA a number - ... ........ See problems(...) for more details.
  • 你能提供所有的名字吗?或者将parse_number() 结果放入变量中,查看problems() 的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2020-04-14
  • 1970-01-01
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多