Quantcast
Channel: Active questions tagged r - Stack Overflow
Viewing all articles
Browse latest Browse all 205330

Panel data with multiindex

$
0
0

I would like to ask how to work with a panel data, or how to tranfort dataset so it can be then modeled as panel data, when it has multiindex?

library(tibble)
library(plm)
library(fastDummies)

dataset <- tribble(
  ~country, ~year, ~sex, ~age, ~suicides_no,
  "Albania", 1987, "male", "15-24", 50, 
  "Albania", 1987, "male", "35-50", 20, 
  "Albania", 1987, "male", "50-", 11,
  "Albania", 1987, "female", "15-24", 18, 
  "Albania", 1987, "female", "35-50", 2, 
  "Albania", 1987, "female", "50-", 1,
  "Albania", 1988, "male", "15-24", 50, 
  "Albania", 1988, "male", "35-50", 2, 
  "Albania", 1988, "male", "50-", 11,
  "Albania", 1988, "female", "15-24", 17, 
  "Albania", 1988, "female", "35-50", 20, 
  "Albania", 1988, "female", "50-", 10,
  "Albania", 1989, "male", "15-24", 0, 
  "Albania", 1989, "male", "35-50", 2, 
  "Albania", 1989, "male", "50-", 1,
  "Albania", 1989, "female", "15-24", 7, 
  "Albania", 1989, "female", "35-50", 2, 
  "Albania", 1989, "female", "50-", 1,
  "Germany", 1987, "male", "15-24", 50, 
  "Germany", 1987, "male", "35-50", 2, 
  "Germany", 1987, "male", "50-", 11,
  "Germany", 1987, "female", "15-24", 18, 
  "Germany", 1987, "female", "35-50", 20, 
  "Germany", 1987, "female", "50-", 1,
  "Germany", 1988, "male", "15-24", 0, 
  "Germany", 1988, "male", "35-50", 2, 
  "Germany", 1988, "male", "50-", 110,
  "Germany", 1988, "female", "15-24", 17, 
  "Germany", 1988, "female", "35-50", 20, 
  "Germany", 1988, "female", "50-", 10,
  "Germany", 1989, "male", "15-24", 0, 
  "Germany", 1989, "male", "35-50", 20, 
  "Germany", 1989, "male", "50-", 1,
  "Germany", 1989, "female", "15-24", 73, 
  "Germany", 1989, "female", "35-50", 2, 
  "Germany", 1989, "female", "50-", 11

)
dataset %>% tail


dataset2 <- dummy_cols(dataset, "age") %>% select(-age)
panel <- pdata.frame(dataset2, index = c("country", "year"))

we have multiple observation for one cross-sectional units in one year, because of the age intervals,

how would we transform this dataset to work with it as a panel data and use random or fixed effects?

Using:

library(plm)

fixex = plm(suicides_no ~ factor(sex) + factor(age), index = c("country", "year"), data = dataset, model = "within")

is not working, how does one transform data so it can be estimated


Viewing all articles
Browse latest Browse all 205330

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>