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> countsA.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 0Thanks 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 ??????????????????????????