我是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
希望这很清楚!任何人都可以帮我解决这个问题吗?谢谢!
答案 0 :(得分:1)
我刚试了一些其他的东西,现在我已经解决了!
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 =='是',]之后添加一个逗号来提取行而不是列。