[英]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.