[R] Optimal method to scan cells and set flag

Jon Erik Ween jween at klaru-baycrest.on.ca
Thu Dec 16 15:43:39 CET 2010


Hi

I am still working on my large dataset (sample attached) that contains a series of binary variables (flags, yes/no) regarding affected brain areas ("Lica","LAtChor","LA1" ,etc).

I need to scan these columns, if value = Y for "Lxxx" set "LesionSide" to "L", if Y for "Rxxx" set to "R" and "B" if both.  There are >2500 records, so for-loops would be inefficient. Any suggestions?

Much obliged.

Best

Jon

Soli Deo Gloria

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.txt
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20101216/a1ded1e6/attachment.txt>
-------------- next part --------------


Jon Erik Ween, MD, MS
Scientist, Kunin-Lunenfeld Applied Research Unit 
Director, Stroke Clinic, Brain Health Clinic, Baycrest Centre
Assistant Professor, Dept. of Medicine, Div. of Neurology
    University of Toronto Faculty of Medicine

Kimel Family Building, 6th Floor, Room 644 
Baycrest Centre
3560 Bathurst Street 
Toronto, Ontario M6A 2E1
Canada 

Phone: 416-785-2500 x3648
Fax: 416-785-2484
Email: jween at klaru-baycrest.on.ca


Confidential: This communication and any attachment(s) may contain confidential or privileged information and is intended solely for the address(es) or the entity representing the recipient(s). If you have received this information in error, you are hereby advised to destroy the document and any attachment(s), make no copies of same and inform the sender immediately of the error. Any unauthorized use or disclosure of this information is strictly prohibited.



On 2010-12-09, at 2:21 PM, David Winsemius wrote:

> 
> On Dec 9, 2010, at 12:44 PM, Sashi Challa wrote:
> 
>> Hello All,
>> 
>> I have a toy dataframe like this. It has 8 columns separated by tab.
>> 
>> Name    SampleID        Al1     Al2     X       Y       R       Th
>> rs191191        A1      A       B       0.999   0.09    0.78    0.090
>> abc928291       A1      B       J       0.3838  0.3839  0.028   0.888
>> abcnab  A1      H       K       0.3939  0.939   0.3939  0.77
>> rx82922 B1      J       K       0.3838  0.393   0.393   0.00
>> rcn3939 B1      M       O       0.000   0.000   0.000   0.77
>> tcn39399        B1      P       I       0.393   0.393   0.393   0.56
>> 
>> Note that the SampleID is repeating. So I want to be able to split the dataset based on the SampleID and write the splitted dataset of every SampleID into a new file.
>> I tried split followed by lapply to do this.
>> 
>> infile <- read.csv("test.txt", sep="\t", as.is = TRUE, header = TRUE)
>> infile.split  <- split(infile, infile$SampleID)
>> names(infile.split[1])  ## outputs ?A1?
>> ## now A1, B1 are two lists in infile.split as I understand it. Correct me if I am wrong.
>> 
>> lapply(infile.split,function(x){
>>             filename <- names(x) #### here I expect to see A1 or B1, I didn?t, I tried (names(x)[1]) and that gave me ?Name? and not A1 or B1.
>>             final_filename <- paste(filename,?toy_set.txt?,sep=?_?)
>>             write.table(x, file = paste(path, final_filename,sep=?/?, row.names=FALSE, quote=FALSE,sep=?\t?)
>> } )
>> 
>> In lapply I wanted to give a unique filename to all the split Sample Ids, i.e. name them here as <dragged to the c() construct>.
>> How do I get those names, i.e. A1, B1 to a create a filename like above.
> 
> names(file.split) <- c("A1_toy_set.txt", "B1_toy_set_txt")
> 
>> When I write each of the element in the list obtained after split into a file,
> 
> How are you proposing do do this "writing"?
> 
>> the column names would have names like A1.Name, A1.SampleID, A1.Al1, ?..
> 
> Are you sure? Why would you think that?
> 
> -- 
> David.
> 
>> Can I get rid of ?A1? in the column names within the lapply (other than reading in the file again and changing the names) ?
>> 
>> Thanks for your time,
>> 
>> Regards
>> Sashi
>> 
>> 
>> 	[[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-help at 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.
> 
> David Winsemius, MD
> West Hartford, CT
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list