Jim, thanks for taking the time to look into this. Yes, these if else statements are so confusing.
I tried your amended scode and it does not work. The error are as follows: Error: unexpected '}' in " }" > NUMBER_OF_SHARES[i] = 100 / is.na(CLOSE_SHARE_PRICE[i]) > } Error: unexpected '}' in " }" > } Error: unexpected '}' in " }" > } Error: unexpected '}' in "}" > I have spent so much time on this-hopefully I will come to grips sooner or later. In the mean time any further suggestion? Kind regards Ahson > On 13 April 2021 at 14:29 jim holtman <jholt...@gmail.com> wrote: > > Your code was formatted incorrectly. There is always a problem with the > 'else' statement after an 'if' since in R there is no semicolon to mark the > end of a line. Here might be a better format for your code. I would > recommend the liberal use of "{}"s when using 'if/else' > > > > i <- 0 > > for (i in 1:(nrow(PLC_Return) - 1)) { > if (i == 1) { > NUMBER_OF_SHARES[i] = 100 /http://is.na (CLOSE_SHARE_PRICE[i]) > } else { > if (http://is.na (PLC_Return[i, 1]) ==http://is.na (PLC_Return[i + 1, > 1]) { > NUMBER_OF_SHARES[i] = 0 > } else { > NUMBER_OF_SHARES[i] = 100 /http://is.na (CLOSE_SHARE_PRICE[i]) > } > } > } > > > Jim Holtman > Data Munger Guru > > What is the problem that you are trying to solve? > Tell me what you want to do, not how you want to do it. > > > On Tue, Apr 13, 2021 at 5:51 AM e-mail ma015k3113 via R-help < > r-help@r-project.org mailto:r-help@r-project.org > wrote: > > > > Dear All,I have a dataframe with 4 variables and I am trying to > calculate how many shares can be purchased with £100 in the first year when > the company was listed > > > > The data looks like: > > > > COMPANY_NUMBER YEAR_END_DATE CLOSE_SHARE_PRICE NUMBER_OF_SHARES > > 22705 30/09/2002 > > NA 0 > > 22705 30/09/2004 > > NA 0 > > 22705 30/09/2005 > > 6.55 0 > > 22705 30/09/2006 > > 7.5 0 > > 22705 30/09/2007 > > 9.65 0 > > 22705 30/09/2008 > > 6.55 0 > > 1091347 31/01/2010 > > 8.14 0 > > 1091347 31/01/2011 > > 11.38 0 > > 11356069 30/06/2019 > > 1.09 0 > > SC192761 31/01/2000 > > NA 0 > > SC192761 31/01/2001 > > NA 0 > > SC192761 31/01/2002 > > NA 0 > > SC192761 31/01/2004 > > NA 0 > > SC192761 31/01/2005 > > NA 0 > > SC192761 31/01/2006 > > 1.09 0 > > SC192761 31/01/2008 > > 1.24 0 > > SC192761 31/01/2009 > > 0.9 0 > > SC192761 31/01/2010 > > 1.14 0 > > SC192761 31/01/2011 > > 1.25 0 > > SC192761 31/01/2012 > > 1.29 0 > > > > > > The code I have written is > > > > i <- 0 > > > > for (i in 1:(nrow(PLC_Return)-1)) > > if (i == 1) > > { > > NUMBER_OF_SHARES[i] = 100/http://is.na (CLOSE_SHARE_PRICE[i]) > > } else if > > (http://is.na (PLC_Return[i, 1]) ==http://is.na (PLC_Return[i + 1, > > 1]) > > { > > NUMBER_OF_SHARES[i]=0 > > } else > > { > > NUMBER_OF_SHARES[i] = 100/http://is.na (CLOSE_SHARE_PRICE[i]) > > } > > > > > > The error I get is Error: unexpected 'else' in: > > > > " NUMBER_OF_SHARES[i] = 0 > > } else" > > > {NUMBER_OF_SHARES[i] = 100/http://is.na (CLOSE_SHARE_PRICE[i])} > > > > > > } > > Error: unexpected '}' in "}" > > > > > > Don't know how to fix it-any help will be appreciated. > > > > > > Kind regards > > > > > > Ahson > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailto: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. > > > > > [[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.