Is it possible to create an if statement, where observations in a column (measure) is kept as it is if it contains numbers but converted to NA if it contains letters?
#Dataset
id<-c(1,2,3,4,5)
measure<-c(10,"AB",41,"CGHa",100)
data<-data.frame(id,measure)
data
id measure
1 1 10
2 2 AB
3 3 41
4 4 CGHa
5 5 100
Your measure column in your data data.frame currently contains a charcter vector. The c() function will convert your numerics to characters, so:
measure <- c(10,"AB",41,"CGHa",100)
is the same as:
measure <- c("10","AB","41","CGHa","100")
This is called coercion and R does it a lot whenever values are of different types.
You can exploit this by using as.numeric() which will return NA when it cannot convert a character to a numeric.
data$measure <- as.numeric(data$measure)
It will give you a Warning that some values could not be converted, but if you are sure that you don't want the character values, then this Warning can be ignored.