[R] Stop Warnings for Invalid Factor Level, NAs generated?

Tuszynski, Jaroslaw W. JAROSLAW.W.TUSZYNSKI at saic.com
Thu Jun 23 20:55:04 CEST 2005


Check suppressWarnings function.

Jarek
====================================================\=======

 Jarek Tuszynski, PhD.                           o / \ 
 Science Applications International Corporation  <\__,|  
 (703) 676-4192                                   ">   \
 Jaroslaw.W.Tuszynski at saic.com                     `    \

 

-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of
khobson at fd9ns01.okladot.state.ok.us
Sent: Thursday, June 23, 2005 9:09 AM
To: r-help at stat.math.ethz.ch
Subject: [R] Stop Warnings for Invalid Factor Level, NAs generated?





How can I stop the following warning from occuring?
invalid factor level, NAs generated in: "[<-.factor"(`*tmp*`, iseq, value =
structure(1, .Label = "12", class = "factor"))

The Label messages are for "5", "8", "12" and "46". I want the NAs to be
generated as needed.

Is this causing R to slow down by generating the warning messages?  There
are over 50.  I loop through up to 10 datasets and append one row from each
to create a summary dataset.

The full code and data is too long to post.  The snippet below might explain
what I'm doing somewhat.  I'll work up some sample data and code if no
solutions are found.

...snip
> # Get info on first and last pair sets and lab names in last pair 
> nlabs <- labdata[["LABNUMBER"]] #e.g. 1, 2, 5, 6, ...
> nolabs <- length(nlabs) #Total number of labs in last pair of labdata 
> #dpdata <- labdata[which(labdata[["LABNUMBER"]] == 13),] #Dummy paired
data row
> dpdata <- rbind(labdata[0,], NA)
> pdata <- dpdata
> # Loop through pairs of labdata to build pdata for pairs (last 10 
> years
or less)
> k=0
> for(j in nlabs){
+   for(i in ifpair:ilpair){
+     k <- k + 1  #Counter for number of pairs.  Start at 1.
+     setwd(dirs[i]); load("labdata.Rdata")    #No trailing "/" in wd
+     setwd(cdir) #Go back to original ESN pair (last pair's folder in
analysis)
+     tpdata <- labdata[which(labdata[["LABNUMBER"]] == j),]
+     if(NROW(tpdata) == 0){
+       tpdata <- dpdata
+       tpdata[which(names(labdata) == "LABNUMBER")] <- j
+       tpdata[which(names(labdata) == "ESN")] <-
ESN-((ilpair-ifpair)+1-k)*2
+             tpdata[which(names(labdata) == "ESNm1")] <-
ESN-((ilpair-ifpair)+1-k)*2-1
+     }
+   #pdata[nrow(pdata)+1,names(tpdata)] <- NA
+   pdata[nrow(pdata)+1,names(tpdata)] <- tpdata
+   }
+ }
There were 50 or more warnings (use warnings() to see the first 50) ...snip

mailto:khobson at odot.org
Kenneth Ray Hobson, P.E.
Oklahoma DOT - QA & IAS Manager
200 N.E. 21st Street
Oklahoma City, OK  73105-3204
(405) 522-4985, (405) 522-0552 fax

Visit our website at:
http://www.okladot.state.ok.us/materials/materials.htm

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html




More information about the R-help mailing list