我在R中有一个数据帧,行 struct 如下
rowA1
rowA2
rowA3
rowB1
rowB2
rowB3
rowC1
rowC2
rowC3
我想这样重新排序:
rowA1
rowB1
rowC1
rowA2
rowB2
rowC2
rowA3
rowB3
rowC3
多么?
编辑: 需要说明的是,数据帧最初是由使用BIND_ROWS(A、B、C)的3个数据帧组成的 每个数据帧有3个条目.
请注意,rowA1等是示例性的,可以包含任何列和值.
我在R中有一个数据帧,行 struct 如下
rowA1
rowA2
rowA3
rowB1
rowB2
rowB3
rowC1
rowC2
rowC3
我想这样重新排序:
rowA1
rowB1
rowC1
rowA2
rowB2
rowC2
rowA3
rowB3
rowC3
多么?
编辑: 需要说明的是,数据帧最初是由使用BIND_ROWS(A、B、C)的3个数据帧组成的 每个数据帧有3个条目.
请注意,rowA1等是示例性的,可以包含任何列和值.
一个dplyr
选项(您可以使用Jon建议的readr::parse_number
而不是substr
):
tibble::tribble(~row,
"rowA1",
"rowA2",
"rowA3",
"rowB1",
"rowB2",
"rowB3",
"rowC1",
"rowC2",
"rowC3") |>
dplyr::mutate(nbr = substr(row, 5,5)) |>
dplyr::arrange(nbr) |>
dplyr::select(-nbr)