如果在R中也更新了其他观察值,则更改值

问题描述

在下面,我将提供一些帮助。这是一些玩具数据:

UINT_MAX

这个想法是在进度的每一步中,将数据逐步分成df <- data.frame(id1 = c(1,1,2,3,3),V1 = c(5,10,5,15,30,1),V2 = c(1,7,4,8,3)) 组,并在新的g列中分配y列中组内的最大值。 不太严格的标准。在这种情况下,有2个步骤。

匹配应继续进行,直到每个组有5个元素或完成所有步骤为止。 第一步很简单-具有相同V2的行应属于同一组:

id1

第二步,我想将df1 <- data.frame(id1 = c(1,g = c(1,y = c(2,8)) 彼此在5个单位内的值配对或在步骤1中配对。

V1

请注意,应该发生两件事:

  1. 具有df2 <- data.frame(id1 = c(1,2),y = c(7,8)). id1 = 1的值被分组在一起。发生这种情况的原因是第二行和第三行:id2 = 2。但是,即使对于第2行和第4行或第3行和第4行来说,这不是正确的,但仍应将它们分组在一起,因为在第一步中分组的观察结果在第二步中不应不匹配。

  2. 带有|10 - 5| <= 5的组不会更改,因为它已经有5个组成部分。

OBS:我不太关心每个组中的名称id1 = 3,只关心g

我该如何运行一个代码,以使更多步骤和更复杂的大型数据集实现这一目标 每个步骤的条件?

我知道如何独立执行每种分类,但是不知道如何使更新过程正常进行。我希望使用y

回答

解决方法

第一部分的答案可以通过使用dplyrtidyverse

df <- data.frame(id1 = c(1,1,2,3,3),V1 = c(5,10,5,15,30,1),V2 = c(1,7,4,8,3))

df1 <- df1 %>% group_by(id1) %>% mutate(g= id1,y= max(V2))

我不太了解第二部分。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...