Petr PIKAL wrote: > Hi > > r-help-boun...@r-project.org napsal dne 29.04.2009 17:05:01: > >> see >> ?is.null >> >> e.g. >> if( is.null(sub_grp_whr_cls_data[sbgrp_no, 1]) ) >> { >> your code >> } > > It probably will not work as > > sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" > > implicates that there is character value "NULL". I am not sure if you can > get NULL as a part of some object. I tried and failed. > See what you get > x<- c(1,2,3, NULL) > > Regards > Petr
thanks for pointing this out clearly, I had thought only about making the comparison return a logical for use in the expression. On hindsight it seems implausible to ever get NULL in the matrix/data frame. (DONT USE playing around I found the following abuse to work m <- as.data.frame(diag(3)) m[[3]][3] <- list(NULL) is.null(m[3,3][[1]]) [1] TRUE ) Regards, Matthias > >> Moumita Das wrote: >>> Hi friends, >>> Please help me with this bug. >>> >>> *Bug in my code:* >>> >>> In this variable sub_grp_whr_cls_data[sbgrp_no,1] I store the where >>> clause.every sub group has a where condition linked with it. >>> >>> Database1 >>> >>> >>> Where clause was not found for a particular subgroup, >>> sub_grp_whr_cls_data[sbgrp_no,1] value was NULL >>> >>> So the condition (*sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" || >>> sub_grp_whr_cls_data[sbgrp_no,1]==""*) should evaluate to TRUE ,but it >>> evaluated to NA >>> >>> So the if block where I used the the condition threw error >>> >>> If(*sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" || >>> sub_grp_whr_cls_data[sbgrp_no,1]==""*) >>> >>> i.e if(NA) >>> >>> Error:-- >>> >>> Error in if (sub_grp_whr_cls_data[sbgrp_no, 1] == "NULL" || >>> sub_grp_whr_cls_data[sbgrp_no, : >>> >>> missing value where TRUE/FALSE needed >>> >>> Comments:-- but when there ‘s no where clause value the condition >>> (sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" >>> ||sub_grp_whr_cls_data[sbgrp_no,1]=="") should automatically evaluate > to * >>> TRUE* >>> >>> >>> >>> Database2 >>> >>> Where clause was found for a particular subgroup >>> >>> The condition (sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" >>> ||sub_grp_whr_cls_data[sbgrp_no,1]=="") evaluated to FALSE >>> >>> So if (sub_grp_whr_cls_data[sbgrp_no,1]=="NULL" >>> ||sub_grp_whr_cls_data[sbgrp_no,1]=="") is >>> >>> If (FALSE) ,control goes to the else part. >>> >>> This is exactly what is expected of the program. >>> >>> *QUERY:-- **If the condition evaluates to FALSE when a where > condition is >>> available why doesn’t it evaluate to TRUE when a where condition > available >>> is NULL or no where condition is available.* >>> >>> Here I have taken the example of two databases where I tried to get > the >>> where clause for subgroup 1.In case of Database1 it was not available > in >>> case of Databse2 it was available.But the problem may appear for the > same >>> database also, when where clause is available for say one subgroup and > not >>> for the other. >>> >>> >>> >>> > ------------------------------------------------------------------------ >>> ______________________________________________ >>> R-help@r-project.org mailing list >>> 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. >> >> -- >> Matthias Burger Project Manager/ Biostatistician >> Epigenomics AG Kleine Praesidentenstr. 1 10178 Berlin, Germany >> phone:+49-30-24345-0 fax:+49-30-24345-555 >> http://www.epigenomics.com matthias.bur...@epigenomics.com >> -- >> Epigenomics AG Berlin Amtsgericht Charlottenburg HRB 75861 >> Vorstand: Geert Nygaard (CEO/Vorsitzender) >> Oliver Schacht PhD (CFO) >> Aufsichtsrat: Prof. Dr. Dr. hc. Rolf Krebs (Chairman/Vorsitzender) >> >> ______________________________________________ >> R-help@r-project.org mailing list >> 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. > > ______________________________________________ > R-help@r-project.org mailing list > 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. -- Matthias Burger Project Manager/ Biostatistician Epigenomics AG Kleine Praesidentenstr. 1 10178 Berlin, Germany phone:+49-30-24345-0 fax:+49-30-24345-555 http://www.epigenomics.com matthias.bur...@epigenomics.com -- Epigenomics AG Berlin Amtsgericht Charlottenburg HRB 75861 Vorstand: Geert Nygaard (CEO/Vorsitzender) Oliver Schacht PhD (CFO) Aufsichtsrat: Prof. Dr. Dr. hc. Rolf Krebs (Chairman/Vorsitzender) ______________________________________________ R-help@r-project.org mailing list 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.