> On May 13, 2016, at 6:56 AM, ch.elahe via R-help <r-help@r-project.org> wrote: > > Hi all, > I have a df which a part of this is: > > TSTMax :int 213 228 227 281 > TSTMin :int 149 167 158 176 > TSTMean :Factor w/94 levels "100,2" , "104,3" , ... > I want to change the TSTMean into numeric but by using > as.numeric(as.character(df$TSTMean)) I get too many NAs. > Is there a way to change TSTMean into numeric without those NAs? > I want TSTMean to be at the end like: > > TSTMean :int 100.2 104.3 ..... > > Thanks for any help > Elahe
Hi, First, how did you get the data into R? I am going to guess that you used ?read.table or ?read.csv, which by default, will convert character values into factors (see the 'as.is' argument). Second, by default, the decimal character in R is a period ('.') and you appear to be importing European values where the decimal character is a comma (','). Thus, take note of the 'dec' argument in read.table/read.csv and modify that to dec = "," in your function call. The NA values are the result of converting character values that cannot be coerced to numeric due to the commas: > as.numeric("100,2") [1] NA Warning message: NAs introduced by coercion > as.numeric("100.2") [1] 100.2 Regards, Marc Schwartz ______________________________________________ R-help@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.