Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 保持不同类型的第一次出现的原始相对位置的排序数据_R_Dplyr_Tidyverse - Fatal编程技术网

R 保持不同类型的第一次出现的原始相对位置的排序数据

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

我有一个tibble,
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