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]]