[BioC] conditional replace column values with values from a different column

Wolfgang Huber whuber at embl.de
Fri Apr 8 10:06:36 CEST 2011


Hi Assa

bp_subset$Term = with(bp_subset, ifelse(is.na(Term), Term2, Term))

The 'with' is tangential and could be omitted if you prefer to spell out 
the 'bp_subset$' three times.

	Wolfgang

Il Apr/8/11 9:48 AM, Assa Yeroslaviz ha scritto:
> Hi R Users,
>
> I have a data.frame with various NAs (df name is 'bp_subset'):
> GOBPIDPvalueTermPvalue2Term2  1GO:00000414.991241e-03transition metal ion
> transport0.0305047593transition metal ion transport  2GO:0000103NANA
> 0.0475575125sulfate assimilation  3GO:0000904NANA0.0211635899cell
> morphogenesis involved in differentiation
> 4GO:0001505NANA0.0314384424regulation
> of neurotransmitter levels  5GO:0001508NANA0.0017933627regulation of action
> potential  6GO:00016594.018995e-02temperature homeostasisNANA
> I would like tobe abale to replace the 'NA' values of the column "Term",
> with the values of column "Term2" (if they are not 'NA')
> I tried to do it with an if statement, but it doesn't work correctly.
>
>> if (is.na(bp_subset[,3]))
>    bp_subset[,3]<- bp_subset[,5]Warning message:In if
> (is.na(bp_subset[, 3])) bp_subset[, 3]<- bp_subset[, 5] :
>    the condition has length>  1 and only the first element will be used
>
> I also tried to do something like:
>
> bp_subset_test[is.na(bp_subset_test$Term)]<- bp_subset_test$Term2
> Error in `[<-.data.frame`(`*tmp*`, is.na(bp_subset_test$Term), value =
> c("transition metal ion transport",  :
>    duplicate subscripts for columns
>
>
> Is there another way of doing it?
>
> THX,
>
> Assa
>
>
>> sessionInfo()R version 2.12.2 (2011-02-25)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
> [1] C
>
> attached base packages:
> [1] splines   grid      stats     graphics  grDevices utils
> datasets  methods   base
>
> other attached packages:
>   [1] GSEABase_1.12.1      org.Mm.eg.db_2.4.6   Heatplus_1.20.0
> ggplot2_0.8.9        proto_0.3-9.1
>   [6] reshape_0.8.4        plyr_1.4             gplots_2.8.0
> caTools_1.11         bitops_1.0-4.1
> [11] gdata_2.8.1          gtools_2.6.2         siggenes_1.24.0
> multtest_2.7.1       Rgraphviz_1.29.0
> [16] xtable_1.5-6         annotate_1.28.1      GO.db_2.4.5
> biomaRt_2.6.0        GOstats_2.16.0
> [21] RSQLite_0.9-4        DBI_0.2-5            graph_1.28.0
> Category_2.16.0      AnnotationDbi_1.12.0
> [26] Biobase_2.10.0
>
> loaded via a namespace (and not attached):
> [1] MASS_7.3-11       RBGL_1.26.0       RCurl_1.5-0       XML_3.2-0
>       genefilter_1.32.0 survival_2.36-5
> [7] tools_2.12.2
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 


Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber



More information about the Bioconductor mailing list