Skip to content

is.na with lists....

5 messages · Andrew Simmons, Avi Gross, akshay kulkarni

#
Dear memebers,
                            I have list of stock data OHLCData for 500 stocks, 15 of whom are NA's. The following is the code:

require(quantmod)
getOHLCData <- function(NSESym) {
  OHLCData1 <- list()
  for(i in 1:500){
    OHLCData1[[i]] <- tryCatch(getSymbols(NSESym[i], auto.assign=FALSE),
                          error = function (e) {print(i); return(NA)})

  }
  return(OHLCData1)
}

 OHLCData <- getOHLCData(NSESym)

however, when I check for is.na, I get the following:

length(OHLCData)
[1] 500
[1] 500

length(is.na(OHLCData)) should return 15. Whats going wrong? I assume is.na returns TRUE if there is an NA.

Yours sincerely,
AKSHAY M KULKARNI
#
It's supposed to match the length. Perhaps you meant to use which(is.na())?
On Sat, Jul 2, 2022, 14:04 akshay kulkarni <akshay_e4 at hotmail.com> wrote:

            

  
  
#
People often use sum() to count how many boolean values are true, not length).

Sent from the all new AOL app for Android 
 
  On Sat, Jul 2, 2022 at 2:14 PM, Andrew Simmons<akwsimmo at gmail.com> wrote:   It's supposed to match the length. Perhaps you meant to use which(is.na())?
On Sat, Jul 2, 2022, 14:04 akshay kulkarni <akshay_e4 at hotmail.com> wrote:

            
??? [[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.
#
Dear Andrew,
                      It's working! Thanks... I thought the following
would return

[1] 1

But got to know the difference ... thanks.

Yours sincerely,
AKSHAY M KULKARNI
#
Dear AVi,
                 Thanks ....got to know the difference...should have used sum() instead of length()...

Yours sincerely,
AKSHAY M KULKARNI