繁体   English   中英

R:根据其他因素在ggplot中拆分数据

[英]R: Split data in ggplot based on other factor

我是R的初学者,所以我没有多少经验。 尝试根据感染状态在分组中拆分散点图时遇到了问题。 我的数据集由本例中的对数转化抗体水平logapfhap2组成。 感染状态任何Pf inf编码为是或否,并提供有关在随访期间是否有人被感染的信息。 我正在绘制时间点(x)与抗体水平(y)。 对于时间点1和14,我想根据感染状况制作2组。

这是我用来绘制数据而不分组的代码的主要部分:

ggplot() + 
    geom_jitter(data=data2, aes(x='1', y=logapfhap2, colour='PfHAP2A')) + 
    geom_jitter(data=data2,aes(x='14', y=logbpfhap2, colour='PfHAP2B')) + 
    geom_jitter(data=TRC, aes(x='C', y=PfHAP2, colour='PfHAP2C'))

这导致此图表:

在此输入图像描述

然后我试图拆分它(我只在这里显示第一个时间点),它返回一个错误。

ggplot() + 
    geom_jitter(data=data2[data2$any_Pf_inf=='Yes'], 
                aes(x='1inf', y=logapfhap2[data2$any_Pf_inf=='Yes'], 
                colour='PfHAP2A')) + 
    geom_jitter(data=data2[data2$any_Pf_inf=='No'], 
                aes(x='1un', y=logapfhap2[data2$any_Pf_inf=='No'], 
                colour='PfHAP2B')) 

我想创建这个图表 在此输入图像描述 但我得到这个错误:

错误:逻辑索引向量的长度必须为1或55,得到:482

希望这很清楚! 任何人都可以帮我解决这个问题吗? 谢谢!

编辑不确定这是否更清楚,但这是我的数据: 在此输入图像描述 在此输入图像描述

我刚试了一些其他的东西,现在我已经解决了!

ggplot()+ 
      geom_jitter(data=data2[data2$any_Pf_inf=='Yes',], 
          aes(x='1inf', y=logapfhap2, 
          colour='PfHAP2A')) + 
      geom_jitter(data=data2[data2$any_Pf_inf=='No',],
          aes(x='1un', y=logbpfhap2, 
          colour='PfHAP2B'))

显然你必须在[data2 $ any_Pf_inf =='是',]之后添加一个逗号来提取行而不是列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM