如何在因子中添加“总计”水平,以便可以在条形图中显示?

时间:2019-06-24 19:30:46

标签: r ggplot2

我有这张图,其中按病原体的类型(可以是40、41或NT)显示两种类型的样品(病例或对照)中病原体的出现频率。我需要添加一个栏,其中所有类型都显示为一个(包括类型40、41和NT的“总计”) Graph of frequency of the pathogen

因此,我需要一个条来汇总控件和案例中的所有值。

我的数据库具有以下结构,其中,如果样本中存在病原体($ Pathogen == 2),则只有病原体类型可用(不是NA),这就是为什么我的图形仅包含“阳性”的原因结果为病原体。 (不包括NA)

> str(mcdf)
'data.frame':   328 obs. of  5 variables:
 $ cod_per    : chr  "NNV0026" "NNV0030" "NNV1027" "NNV1049" ...
 $ Pathogen: Factor w/ 2 levels "Ausencia","Presencia": 1 1 1 1 1 2 1 1 1 2 ...
 $ casecontrol: Factor w/ 2 levels "Control","Caso": 2 1 1 2 1 2 1 2 1 2 ...
 $ match      : int  1 1 2 2 3 3 4 4 5 5 ...
 $ tipo_pathogen  : Factor w/ 3 levels "40","41","NT": NA NA NA NA NA 2 NA NA NA 3 ...

我使用的图形的代码是下一个:

ggplot(na.omit(mcdf), aes(tipo_pathogen,fill=casecontrol))+
  geom_bar(position="dodge",stat="count")+
  scale_fill_discrete(name="Condición")

请,我需要帮助,因为我不知道ir ggplot是否具有添加总变量的功能,或者是否可以将总水平添加到因子“ type_pathogen”中。我应该对原始数据库做些什么?因为我有负面结果,因此不应在“总计”级别中考虑。

1 个答案:

答案 0 :(得分:0)

这很容易在基础上完成。我不知道在ggplot2中实现它的简单方法

@output =
    SELECT FirstName,
               (
                (Func<string, int?>)
                (inputString =>  // input_paramater
                    { 
                        int outputValue;
                        return int.TryParse(inputString, out outputValue) ? (int?)outputValue : (int?)null;
                    }
                 )
            ) (Salary) AS someDate

    FROM @Employees;