Data frame challenge [🇷 for BE/BA]

posted by mittyri  – Russia, 2016-12-18 02:41 (3106 d 22:03 ago) – Posting: # 16851
Views: 4,924

Hi ElMaestro,

I'd like
A=read.table("SomeFile.csv", header=T, stringsAsFactors = F, sep=",")
apply(A, 2, function(x){
       as.numeric(replace(x,
         !grepl("[-]?[0-9]+[.]?[0-9]*|[-]?[0-9]+[L]?|[-]?[0-9]+[.]?[0-9]*[eE][0-9]+",x), 0))})


But more readable would be
A=read.table("SomeFile.csv", header=T, stringsAsFactors = F, sep=",")
checkandreplace <- function(x){
  # which values are looking not as a numeric?
  isnotnumeric <- !grepl("[-]?[0-9]+[.]?[0-9]*|[-]?[0-9]+[L]?|[-]?[0-9]+[.]?[0-9]*[eE][0-9]+",x)
  # we need to replace them with 0
  replaced0 <- replace(x, isnotnumeric, 0)
  # and to convert it all to numeric
  return(as.numeric(replaced0))
}
apply(A, 2, checkandreplace)


Enjoy!

Kind regards,
Mittyri

Complete thread:

UA Flag
Activity
 Admin contact
23,424 posts in 4,927 threads, 1,672 registered users;
43 visitors (0 registered, 43 guests [including 12 identified bots]).
Forum time: 01:45 CEST (Europe/Vienna)

Complex, statistically improbable things are by their nature
more difficult to explain than
simple, statistically probable things.    Richard Dawkins

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5