Для уровней: мне кажется, здесь все в порядке. Но, если вы не можете объяснить это, я предлагаю использовать пакет forcats
library(forcats)
library(dplyr)
AS<-c("Composite", "DGIdb", "DrugBank", "DrugCentral_Human",
"Repurposing", "LINCS_Data_Portal","TargetCentral")
ASe<-c("Composite", "DGIdb", "DrugBank", "DrugCentral (Human)",
"Drug Repurposing Hub", "LINCS Data Portal","TargetCentral")
d<-data.frame(AS,ASe)
levels(d$AS) <- c(levels(d$AS),"Drug Repurposing Hub")
d$AS[d$AS=="Repurposing"] <- "Drug Repurposing Hub"
d
> d
AS ASe
1 Composite Composite
2 DGIdb DGIdb
3 DrugBank DrugBank
4 DrugCentral_Human DrugCentral (Human)
5 Drug Repurposing Hub Drug Repurposing Hub
6 LINCS_Data_Portal LINCS Data Portal
7 TargetCentral TargetCentral
df <- d %>%
dplyr::mutate(AS = forcats::fct_relevel(AS, sort),
ASe = forcats::fct_relevel(ASe, sort))
df
> df
AS ASe
1 Composite Composite
2 DGIdb DGIdb
3 DrugBank DrugBank
4 DrugCentral_Human DrugCentral (Human)
5 Drug Repurposing Hub Drug Repurposing Hub
6 LINCS_Data_Portal LINCS Data Portal
7 TargetCentral TargetCentral
Также организовать.
dfx <- d %>%
dplyr::mutate(AS = forcats::fct_relevel(AS, sort),
ASe = forcats::fct_relevel(ASe, sort)) %>%
dplyr::arrange(AS, ASe) #