Or sorry, I should clarify, I struggle with putting components together when it 
comes to looping. 



On Thursday, December 3, 2015 11:43 AM, debra ragland <ragland.de...@yahoo.com> 
wrote:
Thanks again!

And no Bert, this is not homework. I have a very minimal background in R and 
struggle with putting concepts together. 

But thanks anyway. 




On Thursday, December 3, 2015 11:04 AM, Boris Steipe <boris.ste...@utoronto.ca> 
wrote:
Use your logical vector to extract the x, y values for the test from the rows 
of the matrix:
  x <- mat[3, x2]
  y <- mat[3, !x2]

Or: use the formula version of wilcox.test as explained in ?wilcox.test


B.



On Dec 3, 2015, at 10:28 AM, debra ragland via R-help <r-help@r-project.org> 
wrote:

> I have read in a sequence alignment and have done the necessary steps to 
> separate and store the elements of the original input into a new list of 
> character vectors. I have compared the sequence list to a "standard" vector, 
> such that the return is a matrix of logical values indicating TRUE if there 
> is a match to the standard and FALSE where there is no match.
> 
> An example;
> 
> mylist=c("AAEBCC", "AABDCC", "AABBCD")
> list.2 <- strsplit(mylist, split=NULL)
> # setting a standard for comparison
> std.string <- "AABBCC"
> standard <- unlist(strsplit(std.string, split=NULL))
> #create a logical matrix 
> mat<-sapply(list.2, function(x) x==standard)
>> mat
> 
> 
> [,1]  [,2]  [,3]
> [1,]  TRUE  TRUE  TRUE
> [2,]  TRUE  TRUE  TRUE
> [3,] FALSE  TRUE  TRUE
> [4,]  TRUE FALSE  TRUE
> [5,]  TRUE  TRUE  TRUE
> [6,]  TRUE  TRUE FALSE
> 
> Where the number of columns is the same length as the original input strings 
> I compared (15) and the number of rows corresponds is the same as the number 
> of strings from the input (99).
> 
> I also have a named numeric vector(of length 15)--where the "names" of the 
> the values match those of the columns of the logical matrix. For the example
> 
> x2 = runif(3, 5.0, 7.5)
> names(x2) = 1:3
>> x2 
> 1        2        3 
> 5.352611 7.058169 6.993105
> 
> For each row in the in the logical matrix I want to combine the logical 
> values with the values from the numeric vector so that I can run a 
> wilcox.test using those values that are "TRUE" against those that are "FALSE".
> 
> For instance if each row&vector pairing was a mini data.frame it would look 
> like
> 
> df=data.frame(x2, mat[3,])
>> df
> 1 5.352611 FALSE
> 2 7.058169 TRUE
> 3 6.993105 TRUE
> wilcox.test(df) #based on all true values vs. all false values
> 
> How can this be achieved?
> 
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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 -- To UNSUBSCRIBE and more, see
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