首页 > 解决方案 > 传播后如何继续订购

问题描述

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

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

data_spread <-data%>%spread(key = var, value = score)

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

标签: rspread

解决方案


一个选项是转换为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

推荐阅读