R 根据不同列的条件进行差异化 |体重|时间|小鸡|饮食| |-----------|----------|---------|---------| | 42 | 0 | 1 | 1 | | 51 | 2 | 1 | 1 | | 59 | 4 | 1 | 1 | | 64 | 6 | 1 | 1 | | 76 | 8 | 1 | 1 | | 93 | 10 | 1 | 1 | | 106 | 12 | 1 | 1 | | 125 | 14 | 1 | 1 | | 149 | 16 | 1 | 1 | | 171 | 18 | 1 | 1 | | 199 | 20 | 1 | 1 | | 205 | 21 | 1 | 1 | | 40 | 0 | 2 | 1 | | 49 | 2 | 2 | 1 |

R 根据不同列的条件进行差异化 |体重|时间|小鸡|饮食| |-----------|----------|---------|---------| | 42 | 0 | 1 | 1 | | 51 | 2 | 1 | 1 | | 59 | 4 | 1 | 1 | | 64 | 6 | 1 | 1 | | 76 | 8 | 1 | 1 | | 93 | 10 | 1 | 1 | | 106 | 12 | 1 | 1 | | 125 | 14 | 1 | 1 | | 149 | 16 | 1 | 1 | | 171 | 18 | 1 | 1 | | 199 | 20 | 1 | 1 | | 205 | 21 | 1 | 1 | | 40 | 0 | 2 | 1 | | 49 | 2 | 2 | 1 |,r,R,我需要取当前的重量,然后在时间0减去重量。时间间隔每12行重置一次。将其变为一个增重列。请帮助我在r中执行此操作。我们根据时间0的发生情况创建一个分组变量,然后从第一个“权重”中减去“权重” | weight | Time | Chick | Diet | |-----------|----------|---------|---------| | 42 | 0 | 1 | 1 | | 51 | 2

我需要取当前的重量,然后在时间0减去重量。时间间隔每12行重置一次。将其变为一个增重列。请帮助我在r中执行此操作。

我们根据时间0的发生情况创建一个分组变量,然后从第一个“权重”中减去“权重”

| weight | Time | Chick | Diet | |-----------|----------|---------|---------| | 42 | 0 | 1 | 1 | | 51 | 2 | 1 | 1 | | 59 | 4 | 1 | 1 | | 64 | 6 | 1 | 1 | | 76 | 8 | 1 | 1 | | 93 | 10 | 1 | 1 | | 106 | 12 | 1 | 1 | | 125 | 14 | 1 | 1 | | 149 | 16 | 1 | 1 | | 171 | 18 | 1 | 1 | | 199 | 20 | 1 | 1 | | 205 | 21 | 1 | 1 | | 40 | 0 | 2 | 1 | | 49 | 2 | 2 | 1 |
库(dplyr)
df1%>%
分组依据(grp=cumsum(时间=0))%>%
变异(增重=重量-第一个(重量))
#A tibble:24 x 6
#组别:grp[2]
#体重时间雏鸡日粮
#             
# 1     42     0     1     1     1         0
# 2     51     2     1     1     1         9
# 3     59     4     1     1     1        17
# 4     64     6     1     1     1        22
# 5     76     8     1     1     1        34
# 6     93    10     1     1     1        51
# 7    106    12     1     1     1        64
# 8    125    14     1     1     1        83
# 9    149    16     1     1     1       107
#10    171    18     1     1     1       129
# ... 还有14行
请阅读
library(dplyr)
df1 %>% 
   group_by(grp = cumsum(Time==0)) %>%
   mutate(WeightGain = weight - first(weight))
# A tibble: 24 x 6
# Groups:   grp [2]
#   weight  Time Chick  Diet   grp newweight
#    <int> <int> <int> <int> <int>     <int>
# 1     42     0     1     1     1         0
# 2     51     2     1     1     1         9
# 3     59     4     1     1     1        17
# 4     64     6     1     1     1        22
# 5     76     8     1     1     1        34
# 6     93    10     1     1     1        51
# 7    106    12     1     1     1        64
# 8    125    14     1     1     1        83
# 9    149    16     1     1     1       107
#10    171    18     1     1     1       129
# ... with 14 more rows