2016-08-18 73 views
0

我對R(或任何類型的編碼)非常缺乏經驗,但我正在嘗試使用包裝圓的玫瑰圖進行定向來自細胞的數據。基本上,我創建了一個直方圖來定位這些單元格,現在我想在圓形圖上繪製這些數據,以顯示「x」單元格類型更傾向於比「y」單元格類型的東西。 我需要數據在度數圖上,而不是默認的pi。 有人可以幫我嗎?我還沒有找到任何可以插入數據的東西,只是很多風玫瑰圖的氣象代碼沒有用處。就像我說的,非常新的這個。如何使用R包圓形來製作360的直方圖數據的玫瑰圖。

+0

您能否提供您正在使用的數據樣本?來自'dput(head(yourData))'的輸出將會有所幫助。 – jdobres

+0

這是輸出的.csv,我從我們的自動化分析得到:角度,頻率 0,0 10,0 20,0.001 30.2 40.4 50,18.03 60,11 70,12 80.5 90,7 100,10 110,13 120,2 130,0.003 140,0.01 150,0 160,1 170,0.05 180,2 190,3 200 ,3.7 210,6 220, 0 230,0 240,0 260,0 270,0.2 280,0.006 290,0 300,0 310,0 320,0 330,0 340,0 350,0 ,100 –

+0

很難用上面發佈的格式處理數據。相反,請執行'data < - read.csv(「data.csv」); dput(data)'並將輸出複製粘貼到您的問題中,如上面提到的評論者所示。 –

回答

5

這是第一次嘗試。假設你的數據在數據幀d,我已經重新低於(添加一行Angle = 250,這似乎是從您的評論缺少以上):

d <- structure(list(Angle = c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 
100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 
230, 240, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 250 
), Frequency = c(0, 0, 0.001, 2, 4, 18.03, 11, 12, 5, 7, 10, 
13, 2, 0.003, 0.01, 0, 1, 0.05, 2, 3, 3.7, 6, 0, 0, 0, 0, 0.2, 
0.006, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("Angle", "Frequency" 
), row.names = c(NA, 36L), class = "data.frame") 
str(d) 
# 'data.frame': 36 obs. of 2 variables: 
# $ Angle : num 0 10 20 30 40 50 60 70 80 90 ... 
# $ Frequency: num 0 0 0.001 2 4 ... 

我們可以用ggplot

library(ggplot2) 
ggplot(d, aes(x = Angle, y = Frequency)) + 
    coord_polar(theta = "x", start = -pi/45) + 
    geom_bar(stat = "identity") + 
    scale_x_continuous(breaks = seq(0, 360, 60)) 

enter image description here

+0

這正是我所需要的。謝謝你,威煌!對於我對R的無知,這不是我們通常的分析模式,所以我們沒有任何有經驗的人來教我。 –