使用dplyr(我认为)操纵数据集

时间:2019-03-07 01:29:37

标签: r dplyr

我正在提供一个名为ChickWeight的数据集。这具有一段时间内小鸡的重量。我需要引入一个新变量,用于测量与第0天相比当前的体重差异。

我首先清理了数据集,只取出了所有12磅称重记录的小鸡:

library(datasets)
library(dplyr)
Frequency <- dplyr::count(ChickWeight$Chick)
colnames(Frequency)[colnames(Frequency)=="x"] <- "Chick"
a <- inner_join(ChickWeight, Frequency, by='Chick') 
complete <- a[(a$freq == 12),]
head(complete,3)

此数据集位于r的库(数据集)中,称为ChickWeight。

1 个答案:

答案 0 :(得分:0)

您可以尝试:

library(dplyr)

ChickWeight %>% 
  group_by(Chick) %>%
  filter(any(Time == 21)) %>%
  mutate(wdiff = weight - first(weight))

# A tibble: 540 x 5
# Groups:   Chick [45]
   weight  Time Chick Diet  wdiff
    <dbl> <dbl> <ord> <fct> <dbl>
 1     42     0 1     1         0
 2     51     2 1     1         9
 3     59     4 1     1        17
 4     64     6 1     1        22
 5     76     8 1     1        34
 6     93    10 1     1        51
 7    106    12 1     1        64
 8    125    14 1     1        83
 9    149    16 1     1       107
10    171    18 1     1       129
# ... with 530 more rows