Analysis of a data frame that contains time series using stargazer

I have a panel dataset of 10 obs. and 3 variables. (# of the total 30 = 10 rows (= countries) * 2 columns (= migration parameters) * 1col for the corresponding year. My data frame consists of three annual data frames, so to speak.

How can I apply stargazer over the entire time period, given that this is a panel dataset (so max N = 10)? That is, R must begin after every 11th line. I would like to get a nice table for descriptive statistics

Data set for the first three years:

structure(list(Population = c(21759420, 8696916, 1946351, 14689726, 8212264, 491723, 18907008, 4345386, 11133861, 657229, 22549547, 8944706, 1979882, 15141099, 8489031, 496963, 19432541, 4404230, 11502786, 673252, 23369131, 9199259, 2014866, 15605217, 8766930, 502384, 19970495, 4448525, 11887202, 689692), Distance..km. = c(7243L, 4290L, 9500L, 3789L, 6452L, 2211L, 4667L, 5036L, 4047L, 9140L, 7243L, 4290L, 9500L, 3789L, 6452L, 2211L, 4667L, 5036L, 4047L, 9140L, 7243L, 4290L, 9500L, 3789L, 6452L, 2211L, 4667L, 5036L, 4047L, 9140L), year = c(2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010)), .Names = c("Population", "Distance..km.", "year"), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 99L, 100L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L), class = "data.frame") 

I still get descriptive statistics from N = 30, but it should N = 10, since I am looking for descriptive statistics for the entire period of three years, and every year the data frame should be considered isolated for this. I hope I expressed the problem in an understandable way

+2
source share
1 answer

You can use split + lapply from the R base:

 library(stargazer) lapply(split(df, df$year), stargazer, type = "text") 

or by :

 by(df, df$year, stargazer, type = 'text') 

Result:

 =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,083,988.000 7,541,970.000 491,723 21,759,420 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,008.000 0.000 2,008 2,008 --------------------------------------------------------------- =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,361,404.000 7,798,880.000 496,963 22,549,547 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,009.000 0.000 2,009 2,009 --------------------------------------------------------------- =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,645,370.000 8,065,676.000 502,384 23,369,131 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,010.000 0.000 2,010 2,010 --------------------------------------------------------------- df$year: 2008 [1] "" [2] "===============================================================" [3] "Statistic N Mean St. Dev. Min Max " [4] "---------------------------------------------------------------" [5] "Population 10 9,083,988.000 7,541,970.000 491,723 21,759,420" [6] "Distance..km. 10 5,637.500 2,385.941 2,211 9,500 " [7] "year 10 2,008.000 0.000 2,008 2,008 " [8] "---------------------------------------------------------------" -------------------------------------------------------------------------- df$year: 2009 [1] "" [2] "===============================================================" [3] "Statistic N Mean St. Dev. Min Max " [4] "---------------------------------------------------------------" [5] "Population 10 9,361,404.000 7,798,880.000 496,963 22,549,547" [6] "Distance..km. 10 5,637.500 2,385.941 2,211 9,500 " [7] "year 10 2,009.000 0.000 2,009 2,009 " [8] "---------------------------------------------------------------" -------------------------------------------------------------------------- df$year: 2010 [1] "" [2] "===============================================================" [3] "Statistic N Mean St. Dev. Min Max " [4] "---------------------------------------------------------------" [5] "Population 10 9,645,370.000 8,065,676.000 502,384 23,369,131" [6] "Distance..km. 10 5,637.500 2,385.941 2,211 9,500 " [7] "year 10 2,010.000 0.000 2,010 2,010 " [8] "---------------------------------------------------------------" 

The disadvantage of these two methods is that they print the tables twice (once from stargazer output, the other from lapply / by ). To get around this, you can use the walk form purrr only to call stargazer for its side effects:

 library(dplyr) library(purrr) df %>% split(.$year) %>% walk(~ stargazer(., type = "text")) 

Result:

 =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,083,988.000 7,541,970.000 491,723 21,759,420 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,008.000 0.000 2,008 2,008 --------------------------------------------------------------- =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,361,404.000 7,798,880.000 496,963 22,549,547 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,009.000 0.000 2,009 2,009 --------------------------------------------------------------- =============================================================== Statistic N Mean St. Dev. Min Max --------------------------------------------------------------- Population 10 9,645,370.000 8,065,676.000 502,384 23,369,131 Distance..km. 10 5,637.500 2,385.941 2,211 9,500 year 10 2,010.000 0.000 2,010 2,010 --------------------------------------------------------------- 

Note:

All of the above methods work for latex output ( type = "latex" ). I just set type = "text" for demo purposes.

+1
source

Source: https://habr.com/ru/post/974046/


All Articles