【发布时间】:2018-03-05 17:34:52
【问题描述】:
编辑:我发现年份必须是数字数据类型,或者代码必须写成:
ggplot(data = Electricity_Consumption_per_Capita_United_States, aes(x = year, y = value)) +
geom_line(group = 1) +
scale_x_continuous(breaks = seq(1960, 2010, 5))
原问题:
我从here 下载了“人均用电量”数据集。这是数据框的样子:
我试图在数据框中(1960 年至 2011 年)绘制任何给定国家多年来人均用电量的变化,并决定从美国开始。我认为使用 tidyr 将年份组织在一个列下并在另一列下组织实际 kWh 是有意义的:
Electricity_Consumption_Per_Capita <- read_excel("Datasets/Indicator_Electricity consumption per capita.xlsx")
#Gather the years and corresponding electricity consumption per capita values per country.
Electricity_Consumption_Per_Capita %>%
gather(key = "year", value = "value", -"Electricity consumption, per capita (kWh)") -> Electricity_Consumption_Per_Capita
#Rename the Electricity consumption, per capita (kWh) variable to Country, then filter to obtain the data for the United States.
Electricity_Consumption_Per_Capita %>%
rename(Country = `Electricity consumption, per capita (kWh)`) %>%
group_by(Country) %>%
filter(Country == "United States") -> Electricity_Consumption_per_Capita_United_States
生成的数据框如下所示:
不幸的是,我无法弄清楚如何在同一个图上绘制值 (kWh) 和年份。我尝试了一个正常的折线图,但没有成功:
ggplot(data = Electricity_Consumption_per_Capita_United_States, aes(x = "year", y = "value")) +
geom_line()
我认为这是一个离散变量与连续变量的问题,但我不确定。有人可以指出我正确的方向吗?是否必须将当前为字符向量的“年份”列更改为日期数据类型?
【问题讨论】:
-
1) 你得到了什么错误。 2)请在您的问题中添加实际数据(使用
dput),而不是数据图像 -
我在数据框上使用了 dput() 并将其保存到文本文件中。如何在此处显示?