[R] Looping through data error

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Apr 13 18:06:29 CEST 2021


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 using 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.
>



More information about the R-help mailing list