我有以下问题:在数据框中,我有很多行和列,其中第一行是日期。对于每个日期,我都有1个以上的观察值,我想对其进行总结。
我的df看起来像这样(为了易于使用,将日期替换为ID):
df:
ID Cash Price Weight ...
1 0.4 0 0
1 0.2 0 82 ...
1 0 1 0 ...
1 0 3.2 80 ...
2 0.3 1 70 ...
... ... ... ... ...
Run Code Online (Sandbox Code Playgroud)
我想按第一列对它们进行分组,然后用不同的功能总结所有行,但:
函数Cash and Price应该是求和,所以我得到每个ID的Cash和Price的总和。重量上的功能应为最大,因此我只能获得ID的最大重量。
因为我有很多列,所以我不能手动编写所有函数,但是我只有2列,应该由max总结,其余的应该由sum总结。
因此,我正在寻找一个按ID分组的函数,用总和汇总所有内容,但我需要最大值的 2个不同列除外。
我尝试将dplyr软件包用于:
df %>% group_by(ID = tolower(ID)) %>% summarise_each(funs(sum))
Run Code Online (Sandbox Code Playgroud)
但是我需要加法运算,而不是求和,但最多2个指定的列,是否有想法?
为了清楚起见,示例df的输出应为:
ID Cash Price Weight
1 0.6 4.2 82
2 0.3 1 70
Run Code Online (Sandbox Code Playgroud) 我认为这应该很容易做到.我有一个df包含多个列的数据框.在列aI中,具有介于1和100之间的不同值.
通过比较它们,我想在其中创建一个列new来对df它们进行分组.对它们进行分组的功能应该将值四舍五入a到最接近的偶数整数并将其保存df$new.如果a = 0它应该设置new为NA.
请参阅以下示例:
... a ... new
---------------
0 NA
87.3 88
88.1 88
81.7 82
79.2 80
89.4 90
Run Code Online (Sandbox Code Playgroud)