当前位置: 首页 > 编程笔记 >

如何为R数据帧中的因子变量的每个级别选择第一行?

邵昆琦
2023-03-14
本文向大家介绍如何为R数据帧中的因子变量的每个级别选择第一行?,包括了如何为R数据帧中的因子变量的每个级别选择第一行?的使用技巧和注意事项,需要的朋友参考一下

行比较是数据分析的重要组成部分,有时我们将变量与变量进行比较,将值与值进行比较,将案例或行与另一案例或行进行比较,甚至将完整的数据集与另一数据集进行比较。这是检查数据值的准确性及其一致性所必需的,因此我们必须这样做。为此,我们需要选择所需的行,列等。要为因子变量的每个级别选择第一行,我们可以使用带有!的重复函数。标志。

示例

请看以下数据帧-

> x1<-rep(c(1,2,3,4,5,6,7,8,9,10),each=5)
> x2<-1:50
> x3<-rep(c(LETTERS[1:10]),times=5)
> df<-data.frame(x1,x2,x3)
> head(df,20)
  x1 x2 x3
1  1  1 A
2  1  2 B
3  1  3 C
4  1  4 D
5  1  5 E
6  2  6 F
7  2  7 G
8  2  8 H
9  2  9 I
10 2 10 J
11 3 11 A
12 3 12 B
13 3 13 C
14 3 14 D
15 3 15 E
16 4 16 F
17 4 17 G
18 4 18 H
19 4 19 I
20 4 20 J
> tail(df,20)
x1 x2 x3
31 7 31 A
32 7 32 B
33 7 33 C
34 7 34 D
35 7 35 E
36 8 36 F
37 8 37 G
38 8 38 H
39 8 39 I
40 8 40 J
41 9 41 A
42 9 42 B
43 9 43 C
44 9 44 D
45 9 45 E
46 10 46 F
47 10 47 G
48 10 48 H
49 10 49 I
50 10 50 J

根据因子变量x1的每个级别选择第一行-

> df[!duplicated(df$x1),]
x1 x2 x3
1 1 1 A
6 2 6 F
11 3 11 A
16 4 16 F
21 5 21 A
26 6 26 F
31 7 31 A
36 8 36 F
41 9 41 A
46 10 46 F

根据因子变量x3的每个级别选择第一行-

> df[!duplicated(df$x3),]
x1 x2 x3
1 1 1 A
2 1 2 B
3 1 3 C
4 1 4 D
5 1 5 E
6 2 6 F
7 2 7 G
8 2 8 H
9 2 9 I
10 2 10 J
 类似资料:
  • 问题内容: 我有一个生成的DataFrame,如下所示: 结果如下: 如您所见,DataFrame按升序排列,然后按降序排列。 我想选择每个组的第一行,即 从小时== 0的组中选择(0,cat26,30.9) 从小时= 1的组中选择(1,cat67,28.5) 从小时== 2的组中选择(2,cat56,39.6) 等等 因此,所需的输出将是: 能够选择每个组的前N行也可能很方便。 任何帮助都将受到

  • 我有两个不同维度的数据框架,一个包含观察值,另一个包含与观察值相关的常数,用于算术运算。我想做的是从df2中选择适当的常数,用于df1中的行方向观测,以产生df3。 我附上了示例数据和一个简单的等式: 等式中LF1的值是根据项目从df2中获取的 df1的全尺寸是几十万行乘16列;df2约为150行乘20列。

  • 我正在寻找一种简单的方法来选择熊猫数据框df中的特定值。 我的df行如下所示:编辑以使其更清晰 我的目标是选择每一行[1](df[索引])与一个新的索引。所以这是df.index0,8,以此类推... 是否有另一种可能的方法,而不是迭代整个df并检查行[1](df[索引])上的索引的更改? 我知道有一种方法可以像这样选择第n行:df.iloc[0::n,:]但是第[1]行上的索引更改(df[“in

  • 问题内容: 简短说明:我有一个表,其中包含在特定时间段内更新的数据。现在的问题是,根据发送数据的传感器的性质,在此时间段内可能有50个数据集或50.000个数据集。当我想可视化此数据(使用ASP.NET / c#)时,对于第一次预览,我想从表中仅选择1000个值。 我已经有一种方法可以执行此操作:我可以在感兴趣的时间段中对行进行计数,并使用简单的“ where”子句来指定sensor- id,将其

  • 问题内容: 在C#中将是这样的: Linq-To-Sql将其转换为以下T-SQL代码: 但是它与MySQL不兼容。 问题答案: 当我写 有用。在其他RDBMS中,IIRC这样的语句是不可能的,因为不属于任何组合键的不属于分组键的列就被引用了。 这种“怪癖”的行为与我想要的行为非常接近。所以我用它来获得想要的结果:

  • 我有一个包含四个变量的数据帧(df),其中两个变量是因子,var1和var2。var1和var2各有三个电平。 数据帧中不存在var1和var2的某些组合,例如var1级别“慢速”没有var2级别“4或5”。 我发现在最好的情况下添加行是很棘手的,并且不知道如何实现这一点。任何帮助都将不胜感激!