如何在 R 中绘制面板数据?
How to plot panel data in R?
我有以下 csv 文件:
id year item valuesound growtharea
1 16 2005 Wheat 9784.490 NA
2 16 2006 Wheat 10020.720 0.0241437
3 16 2007 Wheat 9232.796 -0.0786298
4 16 2008 Wheat 8567.893 -0.0720154
5 16 2009 Wheat 10292.670 0.2013073
6 16 2010 Wheat 9274.589 -0.0989134
plm之后,面板是这样的:
> library(plm)
> panel <- pdata.frame(data, index = c("id", "year"), drop.index = TRUE)
> head(panel)
item valuesound growtharea
16-2005 Wheat 9784.490 NA
16-2006 Wheat 10020.720 0.0241437
16-2007 Wheat 9232.796 -0.0786298
16-2008 Wheat 8567.893 -0.0720154
16-2009 Wheat 10292.670 0.2013073
16-2010 Wheat 9274.589 -0.0989134
我在绘制此面板时遇到问题。我想用 ggplot2 创建一个折线图,所以它会在 "year" "valuesound".
的值上显示每个 "id" 的线
我试过 ggplot2
ggplot(panel, mapping = aes(x = year, y = value, group = id)) +
geom_line()
但我总是有错误,例如"Error in FUN(X[[i]], ...) : object 'year' not found"。
我不知道错误在哪里。我已经更改了 drop.index=FALSE,但我仍然无法为每条线创建一个带有颜色的漂亮图表。
你能帮我用这个面板数据创建一个图表吗?
原始数据集具有单独的 id
和 year
变量,您需要绘制随时间变化到 valuesound
的变量。无需更改为 pdata.frame
,因为这样做会索引 id 和 year 变量。
我想这就是您要找的:
library(ggplot2)
# where object df is your original dataset
ggplot(df, mapping = aes(x = year, y = valuesound)) +
geom_line(aes(linetype = as.factor(id)))
我有以下 csv 文件:
id year item valuesound growtharea
1 16 2005 Wheat 9784.490 NA
2 16 2006 Wheat 10020.720 0.0241437
3 16 2007 Wheat 9232.796 -0.0786298
4 16 2008 Wheat 8567.893 -0.0720154
5 16 2009 Wheat 10292.670 0.2013073
6 16 2010 Wheat 9274.589 -0.0989134
plm之后,面板是这样的:
> library(plm)
> panel <- pdata.frame(data, index = c("id", "year"), drop.index = TRUE)
> head(panel)
item valuesound growtharea
16-2005 Wheat 9784.490 NA
16-2006 Wheat 10020.720 0.0241437
16-2007 Wheat 9232.796 -0.0786298
16-2008 Wheat 8567.893 -0.0720154
16-2009 Wheat 10292.670 0.2013073
16-2010 Wheat 9274.589 -0.0989134
我在绘制此面板时遇到问题。我想用 ggplot2 创建一个折线图,所以它会在 "year" "valuesound".
的值上显示每个 "id" 的线我试过 ggplot2
ggplot(panel, mapping = aes(x = year, y = value, group = id)) +
geom_line()
但我总是有错误,例如"Error in FUN(X[[i]], ...) : object 'year' not found"。 我不知道错误在哪里。我已经更改了 drop.index=FALSE,但我仍然无法为每条线创建一个带有颜色的漂亮图表。 你能帮我用这个面板数据创建一个图表吗?
原始数据集具有单独的 id
和 year
变量,您需要绘制随时间变化到 valuesound
的变量。无需更改为 pdata.frame
,因为这样做会索引 id 和 year 变量。
我想这就是您要找的:
library(ggplot2)
# where object df is your original dataset
ggplot(df, mapping = aes(x = year, y = valuesound)) +
geom_line(aes(linetype = as.factor(id)))