[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