选择仅在一列中变化的行 - R.

时间:2013-09-09 08:29:11

标签: r select

我有一个类似于以下内容的数据框:

   v1 v2 v3 v4 v5 v6
r1 1  2  2  4  5  9
r2 1  2  2  4  5  10
r3 2  2  2  4  5  9
r4 2  2  2  4  5  10

我想基于它们在v1中的值不同的事实来选择行r1和r3。该列中的数字范围从1到100.这是可能的,如果可以,如何?

非常感谢任何帮助,谢谢!

更新

一些澄清:v1中的值是从1到100的随机种子。基本上,我运行(在NetLogo中)运行所有参数配置(v2-v6)的模拟,其中包含100个不同的随机种子。我现在想要选择属于相同参数配置的所有行,即如果v2 = 2且v3 = 5,请获取满足该条件且在v1 /随机种子中具有不同值的所有行。但由于我有很多参数配置,我想一般这样做,所以我不必手动编写这些。因此,问题是,是否可以选择多个列中相同但在一个特定列中不同的行。

1 个答案:

答案 0 :(得分:1)

以下是使用plyr将data.frame拆分为块的一种方法。每个块都包含第一列中具有相同值的块。我们只返回每个块的第一行。像这样:

#  Here function(x) x[1,] - mean return the first row from each piece
ddply( df , .variables = "v1" , .fun = function(x) x[1,] )
#  v1 v2 v3 v4 v5 v6
#1  1  2  2  4  5  9
#2  2  2  2  4  5  9