【问题标题】:Trying to plot change in electricity consumption per year with R试图用 R 绘制每年用电量的变化
【发布时间】: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() 并将其保存到文本文件中。如何在此处显示?

标签: r ggplot2 dplyr


【解决方案1】:

从美学中删除引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多