Thanks a lot for all the responses!!
I then first test my data:
> dim(data)
[1] 52086 13
> if(grep(data[3,4],data[3,12])==1) print("Y")
[1] "Y"
> for(i in 1:52086){if(grep(data[i,4],data[i,12])==1) print ("Y")}
Error in if (grep(data[i, 4], data[i, 12]) == 1) print("Y") :
argument is of length zero
What is this new error message? "argument is of length zero"
Here is my data format:
>head(data)
V1 V2 V3 V4 V5 V6 V7 V8
1 ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo
2 - - u C.3 C.3.1 100 1.000000 0.000000
3 - - u C.2 C.2.1 100 1.000000 0.000000
4 - - u C.4 C.4.1 100 1.000000 0.000000
5 - - u C.1 C.1.1 100 1.000000 0.000000
6 - - u C.5 C.5.1 100 1.000000 0.000000
V9 V10 V11 V12 V13
1 FPKM_conf_hi cov len major_iso_id ref_match_len
2 0.000000 0.056682 96 C.3.1 -
3 0.000000 0.058453 99 C.2.1 -
4 0.000000 0.059634 101 C.4.1 -
5 0.000000 0.059634 101 C.2.1 -
6 0.000000 0.059634 101 C.5.1 -
________________________________
From: Jeff Newmiller <[email protected]>
[email protected]" <[email protected]>
Sent: Friday, September 13, 2013 9:21 PM
Subject: Re: [R] problem with grep under loop
This is because you are not printing it (with the print or cat functions). Keep
in mind that the visible result you get from calling a function or evaluating a
variable interactively comes from the interactive R command line, not from R
itself. Once you put such an expression inside a function (such as the "for"
function) it is no longer directly being invoked by the command interpreter.
You might want to read [1] and [2] (which says don't post using HTML).
[1]
http://stackoverflow.com/questions/4716152/why-do-r-objects-not-print-in-a-function-or-a-for-loop
[2] http://www.R-project.org/posting-guide.html
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<[email protected]> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
>
>
>I am just testing the possibility of using grep under for loop:
>
>>for(i in 1:10){grep("a",letters)}
>
>
>nothing came out;
>
>when I ran:
>
>
>>grep("a",letters),
>
>
>I got "1"
>
>so in my for loop, I expected to see ten "1"s, but I did not.
>
>Could anybody help me to figure out why? Thanks a lot for your help.
>
>Capricy
> [[alternative HTML version deleted]]
>
>______________________________________________
>[email protected] 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.
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.