簡體   English   中英

R圖-分層的數值和分類多個變量

[英]R Plot - Multiple Variables, Numeric and Categorical, Layered

仍在學習R,並且一直在努力進行繪圖。 以下是我的數據的一部分,我將嘗試解釋繪圖的類型:

> head(bees.net.counts)
  Month Block Treatment Flower Bee_Richness Bee_Abundance
1   May     1        UB   POSI            1             1
2   May     2        DS   ERST            4            38
3   May     2        UB   RUBU            2             2
4   May     3        DS   ERST            3             4
5   May     3        DS   TROH            1            10
6   May     3        GS   ERST            1             1

我想繪制一個圖,其中Flower在x軸上(有54種不同),Bee_Richness或Bee_Abundance在y軸上,塊的不同顏色符號(n = 4)以及每個陰影中的陰影量治療符號(n = 3)(即,方框1治療UB是未填充的紅色圓圈,方框1治療DS是帶有半陰影紅色的圓圈,方框1治療GS是完全陰影的紅色)。

我的問題是,繪制每條線而不是將每個點都放在特定的花spp上方(有多行具有CHFA,但這些行代表不同的塊和處理)。

我也按月嘗試過,我將四個月分開制作了不同的圖形(以限制x軸的長度)。 五月有10個記錄,有4種不同的花。 我仍然不知道這樣做的方法。

謝謝您的幫助!!

編輯:這是我希望得到的= 情節的想法

這使用@db解決方案的思想,但改進了軸標簽。

plot(x = as.numeric(as.factor(df$Flower)), df$Bee_Richness, 
    pch = as.numeric(as.factor(df$Block)), 
    col = as.numeric(as.factor(df$Treatment)), 
    xaxt="n", xlab="Flower", ylab="Richness")
axis(1, at=1:length(levels(df$Flower)), 
    labels=levels(df$Flower))

花圖

一些補充說明

根據您的要求,角色基於方塊。 顏色基於處理。 讓我們看一下顏色/處理。 訣竅在於,當您將“治療”作為一個因子時,每個值在內部都表示為整數,因此您可以在該因子上使用as.numeric,並將DS轉換為1,將GS轉換為2,將UB轉換為3。
col = as.numeric(as.factor(df$Treatment))賦予DS顏色1,依此類推。 R使用數字1-8作為一些易於訪問的顏色。 由於您只需要3個,因此可以正常工作。 同樣的,
pch = as.numeric(as.factor(df$Block))為小型測試數據中的三個Block值選擇字符1到3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM