我正在处理包含反人口贩运组织信息的数据集。这些组织通过组织名称或组织主页的Web地址进行标识。我希望根据具体情况有条件地折叠此数据框,以便为我留下一组唯一的标识符(在我的数据的情况下,机构名称或机构网址),沿着约1000+这些情况的数字属性是在折叠之前标识符与多少行相关联的最高值或最低值。我转头想:
> df1
x y z
Item1 0 3
Item1 1 4
Item2 1 2
Item3 1 3
Item2 1 5
Item3 1 2
Item4 0 2
变成了
> df2
x y z
Item1 1 3
Item2 1 2
Item3 1 2
Item4 0 2
当然,在本例中,我希望保留Var 2的max值和Var 3的min值,并且只保留唯一的Var 1值。
有谁能提出一个系统的方法来处理大型数据集吗?提前感谢您的帮助!
4条答案
按热度按时间gg0vcinb1#
一个选项是使用
plyr
包:或者,同样简单的是包
data.table
。如果数据非常大,这个选项可能会大大加快速度。w7t8yxp52#
我认为您可能应该选择Andrie的方法,因为他提供了data.table方法,该方法更干净,当然也更快,但处理类别内不同结果的“经典”方法是使用
lapply(split(...))
:mwg9r5ms3#
xv8emn3q4#
由于
y
和z
表示行数,因此本质上是正数,您可以使用以下简单方法: