我是R的初学者,所以我没有太多的经验。我遇到了一个问题,因为我试图根据感染状况将我的散点点分成几个组。在本例中,我的数据集由日志转换的抗体级别logapfhap2组成。感染状态任何Pf inf编码为“是”或“否”,并提供有关在后续期间是否有人被感染的信息。我正在绘制抗体水平(y)的时点(x)。对于时间点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,got: 482
希望这是清楚的!有人能帮我解决这个问题吗?谢谢!
编辑不确定这是否使其更清晰,但我的数据如下所示:


发布于 2017-06-28 14:48:45
我刚刚尝试了一些其他的东西,现在我已经解决了!
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 2$any_Pf_inf==‘Yes’之后添加一个逗号,以提取行而不是列。
https://stackoverflow.com/questions/44785709
复制相似问题