R 保持不同类型的第一次出现的原始相对位置的排序数据
我有一个tibble,R 保持不同类型的第一次出现的原始相对位置的排序数据,r,dplyr,tidyverse,R,Dplyr,Tidyverse,我有一个tibble,d,它的排列方式使得值减小 我想收集所有相同的类型s,同时保持每个类型的第一个条目的相对排列。这显示在d\u-sorted中 正常的groupby()对我不起作用 如何对数据进行排序 库(tidyverse) #以前 d您可以使用排列与匹配: library(dplyr) d %>% arrange(match(type, unique(type))) # type value # <chr> <dbl> #1 R 109
d
,它的排列方式使得值
减小
我想收集所有相同的类型
s,同时保持每个类型
的第一个条目的相对排列。这显示在d\u-sorted
中
正常的groupby()
对我不起作用
如何对数据进行排序
库(tidyverse)
#以前
d您可以使用排列
与匹配
:
library(dplyr)
d %>% arrange(match(type, unique(type)))
# type value
# <chr> <dbl>
#1 R 109
#2 R 70
#3 C 105
#4 C 55
#5 B 80
#6 W 77
#7 W 66
#8 A 58
这也可以通过分解和使用unique
d %>% arrange(type = factor(type, unique(type)))
输出:
# A tibble: 8 x 2
type value
<chr> <dbl>
1 R 109
2 R 70
3 C 105
4 C 55
5 B 80
6 W 77
7 W 66
8 A 58
#一个tible:8 x 2
类型值
1 R 109
2 R 70
3 C 105
4 C 55
5 B 80
6 W 77
7西66
8 A 58
另一个包含数据的解决方案。表
连接:
library(tibble)
setDT(d)
d[CJ(type, sorted = F, unique = T), on = .(type)]
type value
1: R 109
2: R 70
3: C 105
4: C 55
5: B 80
6: W 77
7: W 66
8: A 58
library(tibble)
setDT(d)
d[CJ(type, sorted = F, unique = T), on = .(type)]
type value
1: R 109
2: R 70
3: C 105
4: C 55
5: B 80
6: W 77
7: W 66
8: A 58