Nin*_*ina 2 r collapse dataframe
我正在处理一个包含反人口贩运组织信息的数据集.组织由组织名称或组织主页的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
Run Code Online (Sandbox Code Playgroud)
变成类似的东西
> df2
x y z
Item1 1 3
Item2 1 2
Item3 1 2
Item4 0 2
Run Code Online (Sandbox Code Playgroud)
当然,在这个例子中,我想保留Var2的最大值和Var3的最小值,并保留唯一的Var1值.
任何人都可以建议一个系统的方法来做大数据集吗?在此先感谢您的帮助!
一种选择是使用plyr包:
library(plyr)
ddply(df, .(x), summarize, y=max(y), z=min(z))
x y z
1 Item1 1 3
2 Item2 1 2
3 Item3 1 2
4 Item4 0 2
Run Code Online (Sandbox Code Playgroud)
或者,就像包装一样简单data.table.如果您的数据非常大,此选项可能会大大加快.
library(data.table)
data.table(df)[, list(y=max(y), z=min(z)), by=x]
x y z
1: Item1 1 3
2: Item2 1 2
3: Item3 1 2
4: Item4 0 2
Run Code Online (Sandbox Code Playgroud)