user2462924 user2462924 - 11 months ago 54
R Question

Multiple na.strings in read.table() function in R

I have a square table and it has two na.strings (e.g. "A" and "B") that I need to turn into NA. So far I can turn either one of those into NA but not both. How should I do this? Can I use a function in that argument? If yes, what function should I use? I tried like (

na.strings = "A" | "B"
) and (
na.strings = "A | B"
) but it does not work. My code is as follows:

loadfile<-read.table("test.csv", header=T, sep=",", na.strings="A | B")

Answer Source

na.strings takes a character vector, so...

loadfile <- read.table( "test.csv" , header = TRUE ,
                         sep="," ,
                         na.strings = c("A" , "B" ) )

From the helpfile:

na.strings: a character vector of strings which are to be interpreted as NA values