传播后如何保持订购

use*_*050 5 r spread

我想知道如何在传播后继续订购。

data<-tibble(var=c("A","C","D","B"), score=c(1,2,4,3))

data_spread <-data%>%spread(key = var, value = score)
Run Code Online (Sandbox Code Playgroud)

我想保持 c("A","C","D","B") 的顺序。

akr*_*run 8

一个选项是转换为factor指定levelsunique“var”元素,以确保order出现的顺序

library(dplyr)
library(tidyr)
data %>% 
      mutate(var = factor(var, levels = unique(var))) %>%
      spread(var, score)
# A tibble: 1 x 4
#      A     C     D     B
#  <dbl> <dbl> <dbl> <dbl>
#1     1     2     4     3
Run Code Online (Sandbox Code Playgroud)