根据第二个数据帧汇总一个数据帧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据第二个数据帧汇总一个数据帧相关的知识,希望对你有一定的参考价值。

我有两个不同的数据帧,如下所示为df1和df2:

df1 <- read.table(text = " Class	Head Group
A1	12	1
A2	11	2
A3	10	1
A4	9	2
A5	10	1
", header = TRUE)

df2 <- read.table(text = " Temp1	Temp2	Temp3	Temp4	Temp5
13	13	14	11	17
13	8	19	14	15
14	2	20	15	14
15	7	9	19	9
", header = TRUE)

我想给每个班级和班长指定df1的Temps中的频率。 Temp1对应于A1,Temp2对应于A2,依此类推。因此,例如如果在Temp1中看到值<12(请参见Head for A1),我将对其进行计数。在Temp1中,Head中的所有值都大于12,因此A1的No = 0。对于A2,您在df1中看到11,所以我需要查看Temp2,我看到3个值(8,2,7)小于11,所以A2的No = 3,依此类推... ...>

我想得到以下结果:

Class	Head	No
A1	12	0
A2	11	3
A3	10	1
A4	9	0
A5	19	1
我尝试了map2,但由于小标题列的长度不一致,因此无法成功。所以我想知道我们是否可以在R中做到这一点

我有两个不同的数据帧,分别为df1和df2,如下所示:df1

答案

一个base R解决方案可能是:

另一答案

我们可以将第二个数据集转换为'long'格式,执行left_join并在逻辑表达式上获得计数

以上是关于根据第二个数据帧汇总一个数据帧的主要内容,如果未能解决你的问题,请参考以下文章

如何根据第二个数据帧映射第一个数据帧中的值?

根据第二个数据帧的匹配列更新熊猫数据帧

如何根据来自其他 pyspark 数据帧的日期值过滤第二个 pyspark 数据帧?

根据时间范围和第二个参数减少数据帧

如何根据 R 中的另一个数据帧解码一个数据帧中变量的值?

删除第二个数据帧间隔中的数据帧时间戳