采用aggregate一次只能有一个函数,并且出来的名字不能自动命名。
采用by出来的不是data.frame。
下面给出一个更加方便且易用的方法。
<br />
require(plyr)<br />
x = data.frame(var1 = c(1, 1, 1, 1, 2, 2, 3, 3),<br />
var2 = c(1, 1, 2, 2, 3, 3, 4, 4),<br />
value1 = 1:8,<br />
value2=5:12)</p>
<p>ddply(x,.(var1,var2),function(x){<br />
data.frame(max1=max(x$value1),min2=min(x$value2))<br />
})<br />
#里面的函数可以有各种形式,最后ddply会自动第把结果拼起来<br />
</p>