Skip to content
Prev 207061 / 398503 Next

sum column by colnames

Work's for me:

sapply(unique(union(names(data1), names(data2))),
function(n)Reduce('+', m[grep(n, names(m))]))
                1           2          3           4          5           6
 [1,]   0.2481509   0.2481509   1.240754   0.7444526   0.000000   0.9926034
 [2,]   2.5269063   1.2634532   1.263453   2.5269063   1.263453   3.1118565
 [3,]   0.0000000   6.6856351   3.342818   1.6714088   0.000000   1.6714088
 [4,]   3.3955301   6.7910603   0.000000   0.0000000   3.395530   3.3955301
 [5,]  17.6053685  17.6053685   0.000000  10.4981500   0.000000   5.8684562
 [6,]   0.0000000   0.0000000   9.145319   0.0000000   0.000000   9.1453187
 [7,]  24.9346349   0.0000000  26.548650  24.9346349  46.641240   0.0000000
 [8,]  16.0344100   0.0000000  73.195722   0.0000000  48.103220  16.0344054
 [9,]  21.2623400  24.2592465   0.000000  45.5215865  63.787020  63.7870201
[10,]  54.7977900  62.3859139 155.964785 117.1837039  27.398900  58.5918536
[11,] 142.6301076 117.4078128  39.135938   0.0000000   0.000000  34.4980557
[12,]   0.0000000  96.2453820   0.000000  48.1226910 133.348991  42.6131524
[13,]   0.0000000  58.1866603   0.000000 109.9836503   0.000000  51.7969933
[14,]  62.1019500   0.0000000   0.000000   0.0000000  62.101950   0.0000000
[15,] 163.3521313   0.0000000  81.676066   0.0000000   0.000000   0.0000000
[16,]   0.0000000   0.0000000   0.000000   0.0000000   0.000000   0.0000000
[17,]   0.0000000   0.0000000 109.858092   0.0000000   0.000000   0.0000000
[18,]   0.0000000   0.0000000   0.000000   0.0000000   0.000000   0.0000000
[19,]   0.0000000   0.0000000   0.000000 142.9800268   0.000000 142.9800268
[20,]          NA   0.0000000   0.000000          NA         NA          NA
[21,]          NA 202.4565276   0.000000          NA         NA          NA
[22,]          NA   0.0000000   0.000000          NA         NA          NA

On Thu, Jan 21, 2010 at 9:02 AM, Alfredo Alessandrini
<alfreale74 at gmail.com> wrote: