Whatever you had as HTML was deleted. If that was data we did not get it.
1) manipulate wpi_def_nic2004 and wpi_def_nic2008 first so that the data are 
compatible, then join them.
2) The full_join statement should explicitly state the columns to join by. 
Using by=NULL joins by all the columns with the same name and that is risky. I 
might want to reuse code or I might change things and suddenly the code does 
not behave in the same way because I have used the default. That might be the 
answer: if both data frames have year as a common variable then they will be 
joined by year, but the years do not overlap. Look at your "merged" data frame 
carefully. Are you sure it is in the right format?
3) Are you sure you want a full_join, or do you want an inner_join where you 
get back only industries that are in both.
4) A stupid question: why not adjust the 2005-2012 data for inflation to 
"convert" base years?

Tim

-----Original Message-----
From: R-help <r-help-boun...@r-project.org> On Behalf Of Manya Budhiraja
Sent: Wednesday, April 10, 2024 3:16 PM
To: r-help@r-project.org
Subject: [R] seeking help with splicing in R

[External Email]

Hello!

I was trying to splice two wholesale price index deflators series which have 
different base years. One of them is called wpi_def_nic2004(from 2005 to 2012), 
and another is called wpi_def_nic2008(from 2012 to 2019). I am trying to create 
a single series such that the base year prices are consistent with 
wpi_def_nic2008. The common year is 2012, which is used for starting the 
splicing.

I would like to keep the values in the nic2008 series unchanged. The
nic2004 starts in 2005, and I would like to make the nic2004 series consistent 
with nic2008. Moreover, I need to do this for each 2 digit industry. I tried 
the following code, *but the problem I encounter is that R only splices the 
nic2004 series only for the year 2011.* It does not understand from my code 
that it can use the spliced value of 2011 in the
nic2004 series to go further back in the nic2004 series to splice the remaining 
values from 2005-2011. This is the code I am using:

 merged <- full_join(wpi_def_nic2004,wpi_def_nic2008)

merged <- merged |> group_by(IND_CD_2D) |>
  mutate(spliced = case_when(year >= 2012 ~ def_value_nic2008,
                             year <= 2011 ~

 def_value_nic2004*(lead(def_value_nic2008)/lead(def_value_nic2004))))

Thanks a lot!
Manya

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.r-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to