You don't want to 'aggregate strings', you want to aggregate numerics 'by' string variables. Here:
R> xx = data.frame(a=sample(letters[1:3], 10, TRUE),
                   b=sample(LETTERS[1:3], 10, TRUE),
                   c=runif(10))
R> xx
a b         c
1  b C 0.7094221
2  c B 0.2718095
3  c B 0.8844701
4  b C 0.9270141
5  b C 0.8243021
6  a A 0.3649902
7  a B 0.9763228
8  a A 0.8904676
9  b C 0.8640352
10 a A 0.7931683
R> aggregate(c ~ a + b, data=xx, FUN=sum)
a b         c
1 a A 2.0486261
2 a B 0.9763228
3 c B 1.1562796
4 b C 3.3247736