Yao He
2013-Jan-09 14:23 UTC
[R] how to count "A","C","T","G" in each row in a big data.frame?
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
??????????????????????????
jim holtman
2013-Jan-09 14:48 UTC
[R] how to count "A", "C", "T", "G" in each row in a big data.frame?
forgot the data. this will count the characters; you can add logic
with 'table' to count groups
########################
x <-
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")
# create a 'key' of characters in the "X" columns
indx <- which(grepl("^X", names(x)))
x$key <- apply(x[, indx], 1, paste, collapse = '')
# create counts
counts <- t(apply(x, 1, function(z){
c(A = nchar(gsub("[^A]", '', z['key']))
, C = nchar(gsub("[^C]", '', z['key']))
, G = nchar(gsub("[^G]", '', z['key']))
, T = nchar(gsub("[^T]", '', z['key']))
)
}))
############# output
> counts
A.key C.key G.key T.key
27412 81 0 25 0
27413 0 29 0 77
27414 0 0 0 106
27415 0 106 0 0
27416 0 27 0 79
27417 0 106 0 0
27418 0 106 0 0
27419 0 0 0 106
27420 0 106 0 0
27421 10 0 96 0
27422 37 0 69 0
27423 39 0 67 0
27424 4 0 102 0
27425 0 0 20 86
27426 0 65 0 41
27427 40 0 66 0
27428 0 78 0 28
27429 106 0 0 0
27430 97 0 9 0
27431 68 0 38 0
On Wed, Jan 9, 2013 at 9:23 AM, Yao He <yao.h.1988 at gmail.com>
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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
Jessica Streicher
2013-Jan-09 16:40 UTC
[R] how to count "A", "C", "T", "G" in each row in a big data.frame?
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.
arun
2013-Jan-10 03:31 UTC
[R] how to count "A", "C", "T", "G" in each row in a big data.frame?
Hi Yao,
You could also use:
library(reshape2)
dd<-dat1[,-(1:4)]
res<-dcast(melt(within(dd,{id=row.names(dd)}),id.var="id"),id~value,length)
head(res)
#???? id AA AG CC CT GA GG GT TC TG TT
#1 27412 29 10? 0? 0 13? 1? 0? 0? 0? 0
#2 27413? 0? 0? 4? 9? 0? 0? 0 12? 0 28
#3 27414? 0? 0? 0? 0? 0? 0? 0? 0? 0 53
#4 27415? 0? 0 53? 0? 0? 0? 0? 0? 0? 0
#5 27416? 0? 0? 3? 9? 0? 0? 0 12? 0 29
#6 27417? 0? 0 53? 0? 0? 0? 0? 0? 0? 0
#Just for comparison:
dat2<- dat1[rep(row.names(dat1),2000),]
?nrow(dat2)
#[1] 40000
?row.names(dat2)<-1:40000
?dd <- dat2[,-(1:4)]
? system.time(res1<- table(rownames(dd)[row(dd)], unlist(dd)))
#?? user? system elapsed
#? 5.840?? 0.104?? 5.954
?system.time(res2 <-
dcast(melt(within(dd,{id=row.names(dd)}),id.var="id"),id~value,length))
#?? user? system elapsed
#? 3.100?? 0.064?? 3.167
?head(res1,3)
????
?#???? AA AG CC CT GA GG GT TC TG TT
?# 1?? 29 10? 0? 0 13? 1? 0? 0? 0? 0
?# 10?? 0? 4? 0? 0? 6 43? 0? 0? 0? 0
?# 100 19 15? 0? 0 15? 4? 0? 0? 0? 0
?head(res2,3)
#?? id AA AG CC CT GA GG GT TC TG TT
#1?? 1 29 10? 0? 0 13? 1? 0? 0? 0? 0
#2? 10? 0? 4? 0? 0? 6 43? 0? 0? 0? 0
#3 100 19 15? 0? 0 15? 4? 0? 0? 0? 0
A.K.
----- Original Message -----
From: Yao He <yao.h.1988 at gmail.com>
To: R help <r-help at r-project.org>
Cc:
Sent: Wednesday, January 9, 2013 9:23 AM
Subject: [R] how to count
"A","C","T","G" in each row in a big
data.frame?
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.
Yao He
2013-Jan-10 04:46 UTC
[R] how to count "A", "C", "T", "G" in each row in a big data.frame?
Hi arun
Then how could spilt them and get a table of letters count such as:
id AA AG CC CT GA GG GT TC TG TT
id A T C G> #1 27412 81 0 0 25
> #2 27413 0 77 29 0
Thanks
2013/1/10 arun <smartpink111 at yahoo.com>:> Hi Yao,
> You could also use:
> library(reshape2)
> dd<-dat1[,-(1:4)]
>
res<-dcast(melt(within(dd,{id=row.names(dd)}),id.var="id"),id~value,length)
> head(res)
> # id AA AG CC CT GA GG GT TC TG TT
> #1 27412 29 10 0 0 13 1 0 0 0 0
> #2 27413 0 0 4 9 0 0 0 12 0 28
> #3 27414 0 0 0 0 0 0 0 0 0 53
> #4 27415 0 0 53 0 0 0 0 0 0 0
> #5 27416 0 0 3 9 0 0 0 12 0 29
> #6 27417 0 0 53 0 0 0 0 0 0 0
>
> #Just for comparison:
> dat2<- dat1[rep(row.names(dat1),2000),]
> nrow(dat2)
> #[1] 40000
> row.names(dat2)<-1:40000
> dd <- dat2[,-(1:4)]
> system.time(res1<- table(rownames(dd)[row(dd)], unlist(dd)))
> # user system elapsed
> # 5.840 0.104 5.954
> system.time(res2 <-
dcast(melt(within(dd,{id=row.names(dd)}),id.var="id"),id~value,length))
> # user system elapsed
> # 3.100 0.064 3.167
> head(res1,3)
>
> # AA AG CC CT GA GG GT TC TG TT
> # 1 29 10 0 0 13 1 0 0 0 0
> # 10 0 4 0 0 6 43 0 0 0 0
> # 100 19 15 0 0 15 4 0 0 0 0
> head(res2,3)
> # id AA AG CC CT GA GG GT TC TG TT
> #1 1 29 10 0 0 13 1 0 0 0 0
> #2 10 0 4 0 0 6 43 0 0 0 0
> #3 100 19 15 0 0 15 4 0 0 0 0
>
> A.K.
>
>
>
>
>
>
>
> ----- Original Message -----
> From: Yao He <yao.h.1988 at gmail.com>
> To: R help <r-help at r-project.org>
> Cc:
> Sent: Wednesday, January 9, 2013 9:23 AM
> Subject: [R] how to count
"A","C","T","G" in each row in a big
data.frame?
>
> 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
??????????????????????????