Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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_Plot_Ggplot2 - Fatal编程技术网

R 根据级别计数对绘图列进行排序

R 根据级别计数对绘图列进行排序,r,plot,ggplot2,R,Plot,Ggplot2,我有以下数据框: ddat <- data.frame(Canonical_Hugo_Symbol=sample(letters[1:4], 20, replace = TRUE), ID.name=rep(c("0", "1"), each=10), allele.fraction =runif(20,min=0,max=1), Canonical_Variant_Classification =sample(letters[1:4], 20, replace = TRUE))

我有以下数据框:

ddat <- data.frame(Canonical_Hugo_Symbol=sample(letters[1:4], 20, replace = TRUE), ID.name=rep(c("0", "1"), each=10), allele.fraction =runif(20,min=0,max=1), Canonical_Variant_Classification =sample(letters[1:4], 20, replace = TRUE))

    Canonical_Hugo_Symbol ID.name allele.fraction Canonical_Variant_Classification
1                      b       0      0.47877015                                a
2                      a       0      0.98445203                                a
3                      d       0      0.91065285                                d
4                      b       0      0.93833143                                c
5                      d       0      0.53332525                                d
6                      a       0      0.14730869                                a
7                      b       0      0.71067695                                b
8                      a       0      0.46656093                                d
9                      d       0      0.64203393                                b
10                     a       0      0.48894393                                b 
11                     a       1      0.17165993                                a
12                     a       1      0.02641931                                c
13                     b       1      0.46169460                                b
14                     b       1      0.96254767                                c
15                     a       1      0.81565680                                d
16                     c       1      0.95940276                                d
17                     b       1      0.28574428                                c
18                     c       1      0.10000156                                c
19                     c       1      0.19250335                                c
20                     c       1      0.72370884                                b

ddat您可以使用函数
reorder

qplot(reorder(Canonical_Hugo_Symbol, count), 
      data = ddat, fill = Canonical_Variant_Classification, geom = "bar")

如果要按降序排列条形图,可以使用:

reorder(Canonical_Hugo_Symbol, -count).

你是这么想的吗

library(ggplot2)
set.seed(1)
ddat <- data.frame(Canonical_Hugo_Symbol=sample(letters[1:4], 20, replace = TRUE), ID.name=rep(c("0", "1"), each=10), allele.fraction =runif(20,min=0,max=1), Canonical_Variant_Classification =sample(letters[1:4], 20, replace = TRUE))
ddat$count <- ave(as.numeric(ddat$Canonical_Hugo_Symbol), 
                  ddat$Canonical_Hugo_Symbol, FUN = length)
ddat       <- ddat[order(ddat$count,ddat$Canonical_Hugo_Symbol, decreasing = T),]
ddat$Canonical_Hugo_Symbol <- factor(ddat$Canonical_Hugo_Symbol, 
                                     levels=unique(ddat$Canonical_Hugo_Symbol))
qplot(Canonical_Hugo_Symbol, data= ddat, 
      fill= Canonical_Variant_Classification, geom="bar")
库(ggplot2)
种子(1)

ddat这几乎是一个重复的问题。看到这个很抱歉我以前没找到!在我的情况下,ThanksIn在某种程度上并没有对专栏重新排序。我以前试过。谢谢
library(ggplot2)
set.seed(1)
ddat <- data.frame(Canonical_Hugo_Symbol=sample(letters[1:4], 20, replace = TRUE), ID.name=rep(c("0", "1"), each=10), allele.fraction =runif(20,min=0,max=1), Canonical_Variant_Classification =sample(letters[1:4], 20, replace = TRUE))
ddat$count <- ave(as.numeric(ddat$Canonical_Hugo_Symbol), 
                  ddat$Canonical_Hugo_Symbol, FUN = length)
ddat       <- ddat[order(ddat$count,ddat$Canonical_Hugo_Symbol, decreasing = T),]
ddat$Canonical_Hugo_Symbol <- factor(ddat$Canonical_Hugo_Symbol, 
                                     levels=unique(ddat$Canonical_Hugo_Symbol))
qplot(Canonical_Hugo_Symbol, data= ddat, 
      fill= Canonical_Variant_Classification, geom="bar")