年2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 标称gdp 7696034.9 8690254.3 9424601.9 10520792.8 11399472.2 12256863.6 12072541.6 13266857.9 14527336.9 15599270.7 16078959.8
您也可以使用 dplyr 中的 lag() 功能 . 它给出了向量中的先前值 . 这是一个例子
dplyr
lag()
data <- data.frame(year = c(2003:2013), gdp = c(7696034.9, 8690254.3, 9424601.9, 10520792.8, 11399472.2, 12256863.6, 12072541.6, 13266857.9, 14527336.9, 15599270.7, 16078959.8)) library(dplyr) growth_rate <- function(x)(x/lag(x)-1)*100 data$growth_rate <- growth_rate(data$gdp)
您可能最熟悉数据表,并执行以下操作:
library(data.table) dt_gdp <- data.table(df) dt_gdp[, growth_rate_of_gdp := 100 * (Producto.interno.bruto..PIB. - shift(Producto.interno.bruto..PIB.)) / shift(Producto.interno.bruto..PIB.)]
2 回答
您也可以使用
dplyr
中的lag()
功能 . 它给出了向量中的先前值 . 这是一个例子您可能最熟悉数据表,并执行以下操作: