Home > front end >  How to make a .fhx format table?
How to make a .fhx format table?

Time:11-12

I appreciate it if someone can help me with this problem! I have a large dataset of fire scars (data1), which I want to analyse with "burnr" package and make some graphs.

data1
year series rec_type
1926 tt_25_01 pith_year
2011 tt_25_01 bark_year
1888 tt_25_03 pith_year
1922 tt_25_03 late_fs
2011 tt_25_03 bark_year

To do so i need to make a .fhx file in r but just using as.fhx does not work because I need to add the missing years in between the pith_year and bark_year as recorder_year and I need to do that for more than 900 samples (data2).

data2
year series rec_type
1926 tt_25_01 pith_year
1927 tt_25_01 recorder_year
1928 tt_25_01 recorder_year
1929 tt_25_01 recorder_year
.
.
.
2011 tt_25_01 bark_year
1888 tt_25_03 pith_year
1888 tt_25_03 recorder_year
1888 tt_25_03 recorder_year
1888 tt_25_03 recorder_year
.
.
.
1922 tt_25_03 late_fs
2011 tt_25_03 bark_year

I really appreciate your advice and help in advance!

CodePudding user response:

data1 <- textConnection('
  year, series, rec_type
  1926, tt_25_01, pith_year
  2011, tt_25_01, bark_year
  1888, tt_25_03, pith_year
  1922, tt_25_03, late_fs
  2011, tt_25_03, bark_year
') |> 
  read.csv(header = TRUE)

data2 <- split(data1, data1$series) |> lapply(function(x) {
  interpolated_yrs <- seq(min(x$year)   1, max(x$year) - 1)
  df <- data.frame(year = interpolated_yrs, 
                   series = x$series[ 1 ],
                   rec_type = 'recorder_year')
  df <- rbind(df, x)
  df
}) |> 
  data.table::rbindlist() |> 
  as.data.frame()
idx <- order(data2$series, data2$year)
data2 <- data2[ idx, ]
View(data2)
  • Related