你是對的,數據將從重組中受益。這是一個「廣泛到長期」的問題即最好有3列:國家,年份和年齡。
您可以使用它使用dplyr
包和陰謀使用ggplot2
的tidyr
包,過程數據的格式。因此,假設您已經閱讀了CSV到R和有一個名爲lexp
數據幀,你可以嘗試這樣的事:
library(dplyr)
library(tidyr)
library(ggplot2)
lexp %>%
# reformat from wide to long
gather(Year, Age, -Country, convert = TRUE) %>%
# select most recent year
filter(Year == max(Year)) %>%
# sort by decreasing age
arrange(desc(Age)) %>%
# take the top 10 countries
slice(1:10) %>%
select(Country) %>%
# join back to the original data
inner_join(lexp) %>%
# reformat again from wide to long
gather(Year, Age, -Country, convert = TRUE) %>%
# and plot the graph
ggplot(aes(Year, Age)) + geom_line(aes(color = Country, group = Country)) +
theme_dark() + theme(axis.text.x = element_text(angle = 90)) +
labs(title = "Life Expectancy") +
scale_color_brewer(palette = "Set3")
結果:
你如何定義「前10名「?最近一年的最高平均值? – neilfws
'庫(tidyverse); gsheet :: gsheet2tbl('https://docs.google.com/spreadsheets/d/1K5CKUaiUyhTy9YFjDCqLzmKgRf_DO2Ycy0Wbv95KwC4/edit?usp=sharing')%>%top_n(10,\'2011 \')%>%gather(Year,\ (預期壽命), - 國家,轉換= TRUE)%>%ggplot(aes(Year,\'Life Expectancy \',color = Country))+ geom_line()' – alistaire
這是我的寵物,預期「是多餘的。預期壽命是一個平均值。 (這是統計期望值。) –