Hello, A close parenthesis is missing in the nd if. for (i in 1:(nrow(PLC_Return)-1)){ if (i == 1){ NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) } else if(is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1])){ NUMBER_OF_SHARES[i]=0 } else { NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) } } Hope this helps, Rui Barradas ?s 13:51 de 13/04/21, e-mail ma015k3113 via R-help escreveu:> 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/is.na(CLOSE_SHARE_PRICE[i]) > } else if > (is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1]) > { > NUMBER_OF_SHARES[i]=0 > } else > { > NUMBER_OF_SHARES[i] = 100/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/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 at 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. >
Hello, Typo, inline. ?s 17:06 de 13/04/21, Rui Barradas escreveu:> Hello, > > A close parenthesis is missing in the nd if.Should be "the 2nd if". Rui Barradas> > > for (i in 1:(nrow(PLC_Return)-1)){ > ? if (i == 1){ > ??? NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) > ? } else if(is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1])){ > ??? NUMBER_OF_SHARES[i]=0 > ? } else { > ??? NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) > ? } > } > > > Hope this helps, > > Rui Barradas > > ?s 13:51 de 13/04/21, e-mail ma015k3113 via R-help escreveu: >> 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/is.na(CLOSE_SHARE_PRICE[i]) >> } else if >> (is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1]) >> { >> NUMBER_OF_SHARES[i]=0 >> } else >> { >> NUMBER_OF_SHARES[i] = 100/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/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 at 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 at 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.
Rui, excellent diagnosis and suggestion. It worked but my damn logic is still not delivering what I want-will spend more time on it tomorrow. Kind regards Ahson> On 13 April 2021 at 17:06 Rui Barradas <ruipbarradas at sapo.pt> wrote: > > > Hello, > > A close parenthesis is missing in the nd if. > > > for (i in 1:(nrow(PLC_Return)-1)){ > if (i == 1){ > NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) > } else if(is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1])){ > NUMBER_OF_SHARES[i]=0 > } else { > NUMBER_OF_SHARES[i] = 100/is.na(CLOSE_SHARE_PRICE[i]) > } > } > > > Hope this helps, > > Rui Barradas > > ?s 13:51 de 13/04/21, e-mail ma015k3113 via R-help escreveu: > > 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/is.na(CLOSE_SHARE_PRICE[i]) > > } else if > > (is.na(PLC_Return[i, 1]) == is.na(PLC_Return[i + 1, 1]) > > { > > NUMBER_OF_SHARES[i]=0 > > } else > > { > > NUMBER_OF_SHARES[i] = 100/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/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 at 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. > >