[R] how to count "A", "C", "T", "G" in each row in a big data.frame?

Yao He yao.h.1988 at gmail.com
Thu Jan 10 01:06:55 CET 2013


Thanks a lot.

The problem is that I don't know how to handle the output list as I
want calculate the frequency of A or G or T or C by row.


Yao He
2013/1/10 Jessica Streicher <j.streicher at micromata.de>:
> Sorry, you wanted rows, i wrote for columns
>
> #rows would be:
> test2<-apply(test[,-c(1:4)],1,function(x){table(t(x))})
>
> #find single values in a row
> sapply(test2,function(row){
>         allVars<-paste(names(row),collapse="")
>         u <- unique(strsplit(allVars,"")[[1]])
>         parts<-sapply(names(row),function(x){u%in%strsplit(x,"")[[1]]})
>         mat<-parts%*%row
>         rownames(mat)<-u
>         mat
> })
>
> though i guess lists aren't ideal, but theres another answer as well i see.
>
> On 09.01.2013, at 15:23, Yao He wrote:
>
>> Dear All
>>
>> I have a data.frame like that:
>> structure(list(name = c("Gga_rs10722041", "Gga_rs10722249", "Gga_rs10722565",
>> "Gga_rs10723082", "Gga_rs10723993", "Gga_rs10724555", "Gga_rs10726238",
>> "Gga_rs10726461", "Gga_rs10726774", "Gga_rs10726967", "Gga_rs10727581",
>> "Gga_rs10728004", "Gga_rs10728156", "Gga_rs10728177", "Gga_rs10728373",
>> "Gga_rs10728585", "Gga_rs10729598", "Gga_rs10729643", "Gga_rs10729685",
>> "Gga_rs10729827"), chr = c(7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
>> 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L), pos = c(11248993L,
>> 20038370L, 16164457L, 38050527L, 20307106L, 13707090L, 12230458L,
>> 36732967L, 2790856L, 1305785L, 29631963L, 13606593L, 13656397L,
>> 2261611L, 32096703L, 13733153L, 16524147L, 558735L, 12514023L,
>> 3619538L), strand = c("+", "+", "+", "+", "+", "+", "+", "+",
>> "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+"),
>>    X2353 = c("AA", "TT", "TT", "CC", "TT", "CC", "CC", "TT",
>>    "CC", "GG", "AG", "AG", "AG", "TT", "CC", "AG", "CC", "AA",
>>    "GG", "GG"), X2409 = c("AA", "CT", "TT", "CC", "CT", "CC",
>>    "CC", "TT", "CC", "GG", "GG", "AG", "AG", "TT", "CC", "AG",
>>    "CC", "AA", "AG", "GA"), X2500 = c("GA", "TT", "TT", "CC",
>>    "TT", "CC", "CC", "TT", "CC", "GG", "GG", "GG", "GG", "GT",
>>    "CT", "GG", "CC", "AA", "AA", "AA"), X2598 = c("AA", "TT",
>>    "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AA", "AG",
>>    "GG", "TT", "CC", "AG", "TC", "AA", "AA", "AG"), X2610 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GA", "GG", "TT", "CC", "GA", "CC", "AA", "AA", "GA"), X2300 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "AA", "AG", "TT", "TC", "AA", "TC", "AA", "AG", "AA"), X2507 = c("AG",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GA", "GG", "TT", "TC", "GG", "CC", "AA", "GA", "AG"), X2530 = c("AG",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "AA",
>>    "GG", "GG", "TT", "CC", "GG", "CC", "AA", "AA", "AA"), X2327 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GG", "GG", "TT", "TC", "GG", "CC", "AA", "AA", "AA"), X2389 = c("AA",
>>    "CC", "TT", "CC", "CC", "CC", "CC", "TT", "CC", "AG", "GG",
>>    "AG", "GG", "TT", "TC", "AG", "CC", "AA", "AA", "AA"), X2408 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GA", "GG", "TT", "CC", "GA", "CC", "AA", "AA", "AG"), X2463 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "CT", "GG", "CC", "AA", "AA", "GA"), X2420 = c("GA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "GG", "GG", "TG", "TT", "GG", "CT", "AA", "AA", "AA"), X2563 = c("GA",
>>    "CC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GG", "GG", "GT", "TT", "GG", "CT", "AA", "AA", "AA"), X2462 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AA",
>>    "GG", "GG", "GT", "TC", "GG", "CC", "AA", "AA", "AA"), X2292 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "AA", "GG", "TG", "TC", "AA", "TC", "AA", "AA", "AA"), X2405 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "AG", "GG", "TG", "TT", "AA", "CT", "AA", "AA", "AA"), X2543 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GA", "GA",
>>    "GA", "GG", "TT", "CT", "GA", "TT", "AA", "AA", "GG"), X2557 = c("AG",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "GA", "GG", "GT", "CT", "GA", "CT", "AA", "AA", "AG"), X2583 = c("GA",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GG", "GG", "GG", "CT", "GA", "CT", "AA", "AA", "AG"), X2322 = c("AG",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "GT", "TT", "GG", "CC", "AA", "AA", "GA"), X2535 = c("AA",
>>    "TC", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "GG", "GG", "TT", "CC", "GG", "CC", "AA", "AA", "AG"), X2536 = c("GA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "AG", "GG", "TT", "TC", "AG", "TC", "AA", "AA", "GA"), X2581 = c("AG",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GA", "GG", "TT", "CC", "GA", "CT", "AA", "AA", "AG"), X2570 = c("AA",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "TC", "GG", "CC", "AA", "AA", "GG"), X2476 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "GT", "TC", "AG", "CC", "AA", "AA", "AG"), X2534 = c("GA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "AG", "GG", "TG", "CC", "AG", "TC", "AA", "AA", "AA"), X2280 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "AG", "GG", "TT", "CC", "GG", "CC", "AA", "AA", "AG"), X2316 = c("AA",
>>    "CC", "TT", "CC", "CC", "CC", "CC", "TT", "CC", "AG", "AA",
>>    "AA", "AG", "TT", "TC", "GG", "CT", "AA", "GG", "GG"), X2339 = c("AA",
>>    "CC", "TT", "CC", "CC", "CC", "CC", "TT", "CC", "GA", "AA",
>>    "GG", "GG", "GT", "CT", "GG", "TT", "AA", "AA", "AG"), X2331 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "CC", "GG", "CC", "AA", "AA", "AG"), X2343 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "CT", "GG", "CC", "AA", "AA", "GA"), X2352 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AA",
>>    "GG", "GG", "TT", "CC", "GG", "CC", "AA", "GA", "AG"), X2293 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GA",
>>    "AA", "GG", "TT", "TC", "AA", "CT", "AA", "AA", "AA"), X2338 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "AG", "GG", "TT", "TC", "AG", "TC", "AA", "AA", "GA"), X2449 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "AA", "GG", "TT", "CC", "AA", "TC", "AA", "AA", "GA"), X2296 = c("GA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GA", "GG",
>>    "AG", "GG", "TG", "TC", "AG", "CC", "AA", "AA", "AA"), X2453 = c("AG",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "AG", "GG",
>>    "GA", "GG", "GT", "CT", "GA", "CT", "AA", "AA", "GA"), X2460 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "AG", "GG",
>>    "GG", "GG", "TG", "CT", "GG", "CC", "AA", "AA", "AA"), X2474 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GA", "AG",
>>    "AG", "GG", "TT", "CC", "AG", "TC", "AA", "AA", "GA"), X2603 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "AG", "GG", "TT", "CC", "AG", "CC", "AA", "AA", "GA"), X2282 = c("GA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "AA", "GG", "TT", "TT", "AA", "CC", "AA", "AA", "GA"), X2313 = c("AG",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "GA", "GG", "GT", "CC", "GA", "CT", "AA", "AA", "AA"), X2538 = c("AA",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "AA",
>>    "AG", "GG", "TG", "CC", "AG", "CC", "AA", "AA", "AA"), X2522 = c("AG",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GA", "GG", "TT", "TC", "GG", "CC", "AA", "AG", "GA"), X2489 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "GT", "TC", "AG", "CC", "AA", "AA", "AG"), X2564 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GA", "GG",
>>    "GG", "GG", "TT", "CC", "AA", "CT", "AA", "AA", "AA"), X2594 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "AA",
>>    "AG", "GG", "TT", "TC", "AG", "TC", "AA", "AA", "AG"), X2274 = c("AA",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "CT", "GG", "CC", "AA", "AA", "GA"), X2451 = c("AG",
>>    "TT", "TT", "CC", "TT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GG", "GG", "TT", "CT", "GG", "CC", "AA", "AA", "GA"), X2321 = c("GG",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "AG",
>>    "AA", "GG", "TT", "TT", "AA", "CC", "AA", "AA", "AA"), X2356 = c("AA",
>>    "TC", "TT", "CC", "TC", "CC", "CC", "TT", "CC", "GA", "AG",
>>    "AG", "GG", "TG", "TC", "AG", "TT", "AA", "AA", "AA"), X2611 = c("AG",
>>    "CT", "TT", "CC", "CT", "CC", "CC", "TT", "CC", "GG", "GG",
>>    "GA", "GG", "TT", "CT", "GA", "TT", "AA", "AA", "AG")), .Names = c("name",
>> "chr", "pos", "strand", "X2353", "X2409", "X2500", "X2598", "X2610",
>> "X2300", "X2507", "X2530", "X2327", "X2389", "X2408", "X2463",
>> "X2420", "X2563", "X2462", "X2292", "X2405", "X2543", "X2557",
>> "X2583", "X2322", "X2535", "X2536", "X2581", "X2570", "X2476",
>> "X2534", "X2280", "X2316", "X2339", "X2331", "X2343", "X2352",
>> "X2293", "X2338", "X2449", "X2296", "X2453", "X2460", "X2474",
>> "X2603", "X2282", "X2313", "X2538", "X2522", "X2489", "X2564",
>> "X2594", "X2274", "X2451", "X2321", "X2356", "X2611"), row.names =
>> 27412:27431, class = "data.frame")
>>
>> how to count how many "A","C","T","G" in each row
>> an example output what I want is  like that
>> A  C   AA  AC  CC
>> 3   5    1      1     2
>>
>> Thanks in advance
>>
>> Yao He
>> --
>> —————————————————————————
>> Master candidate in 2rd year
>> Department of Animal genetics & breeding
>> Room 436,College of Animial Science&Technology,
>> China Agriculture University,Beijing,100193
>> E-mail: yao.h.1988 at gmail.com
>> ——————————————————————————
>>
>> ______________________________________________
>> 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.
>



-- 
—————————————————————————
Master candidate in 2rd year
Department of Animal genetics & breeding
Room 436,College of Animial Science&Technology,
China Agriculture University,Beijing,100193
E-mail: yao.h.1988 at gmail.com
——————————————————————————




More information about the R-help mailing list