2009/1/29 Hadassa Brunschwig <hadassa.brunsch...@mail.huji.ac.il>:
> Hi
>
> An example is as follows. Consider the character 3x6 matrix:
>
> a A a T A t
> G g t T T t
> A a C C c c
>
> For each row I would like to identify the most frequent letter and
> assign a 1 to it and 0
> to the less frequent character. That is, in row 1 the most frequent
> letter is A (I do not differentiate between capital and non-capital
> letters), in row 2 T and in row 3 C. After the binary conversion
> the resulting matrix would look like that:
>
> 1 1 1 0 1 0
> 0 0 1 1 1 1
> 0 0 1 1 1 1

 What if there's a tie for most frequent? Do you want 1s for all the
most frequent characters? Or choose one randomly? Or zeroes?

 Examples: what do the following become:

 A A C C T G
 A A C C T T
 A A A A A A

Or are such cases not possible?

 Some hints for you to work on this yourself:

   help('table') - the table function works out counts of elements of vectors
   help('tolower') - for changing upper to lower case
   help('apply') - for working on rows of data frames

 then check out any basic R tutorial on subscripting and replacement,
and you may need to work out how to loop over things with 'for'. You
should be able to make a working solution in a dozen or so lines of R.
Don't be surprised if some R guru on here does it in 2 or 3 lines of
dense, obfuscated stuff!

Barry

______________________________________________
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.

Reply via email to