2017-09-03 41 views
0

我想繪製可分爲2組(Tornado和TSTM WIND)的數據。我的數據是這樣的:繪製組中的數據

enter image description here

現在我想創建一個死亡的每個EVTYPE總和簡單的圖表。所以就(在這種情況下30),龍捲風一個值和一個值TSTM WIND(20)

我試過,但它那倒工作,因爲我似乎有不同的尺寸參數

xcv<-aggregate(E0, by = list(Fatalities), FUN = sum, na.rm = TRUE) 
plot(Fatalities) 

任何人都可以幫助我嗎?

回答

2

你可以使用data.table或dplyr軟件包很容易地做到這一點。簡單的例子如下。

如果你想使陰謀更好,我會建議看看ggplot。

# create example data frame: 

df <- data.frame(EVTYPE = c("Tornado","TSTM Wind","Tornado","TSTM Wind"), Fatalities = c(1,3,4,6)) 

# use data.table 
library(data.table) 

df <- data.table(df) 
df[,sum(Fatalities), keyby = EVTYPE] 

plot(df[,sum(Fatalities), keyby = EVTYPE]) 

# with dplyr 

df %>% group_by(EVTYPE) %>% summarise(sum = sum(Fatalities)) %>% plot() 
2

最簡單的方法是在同一時間通過利用ggplot總結爲繪製:

require(ggplot2) 

ggplot(df, aes(x = EVTYPE, y = FATALITIES, fill = EVTYPE)) + 
    geom_bar(stat = "identity") + 
    xlab("Event Type") + 
    ylab("Fatalities") + 
    guides(fill=FALSE) 

輸出:

enter image description here

樣本數據:

df <- data.frame(
    EVTYPE=c("Tornado","TSTM Wind","TSTM Wind","Tornado","TSTM Wind", 
      "Tornado","TSTM Wind","TSTM Wind","Tornado","Tornado"), 
    FATALITIES=c(5,11,2,1,1,2,3,3,1,21) 
)