簡體   English   中英

在 R 中的 ID 內使用重復測量時,如何為之前的觀察值創建變量?

[英]When using repeated measures within IDs in R, how do I create a variable for a value from the observation before?

我有 3 名女性的數據,每個女性在 3 次觀察(月經周期)中重復測量。 有很多缺失的數據。

我想看看這個周期的孕酮和上一個周期的 hb(血紅蛋白)之間的關系。

我的數據目前如下所示:

data = data.frame(id = c(1,1,1,2,2,2,3,3,3), 
                  progesterone = c(150, 140, 130, 145, 130, NA, 150, 150, NA),
                  hb_this_cycle = c(9, 8, 9, NA, 9, 10, 9, 8, 7))

#    id progesterone hb
# 1  1          150  9
# 2  1          140  8
# 3  1          130  9
# 4  2           NA NA
# 5  2          130  9
# 6  2           NA 10
# 7  3          150  9
# 8  3          150  8
# 9  3           NA  7

我想添加一個代表之前循環中的 hb(血紅蛋白)的變量。 但是,我想在 ID 中執行此操作。 我還需要它能夠處理大量的 NA。

因此,我希望數據在理想情況下看起來像這樣:

data_ideal = data.frame(id = c(1,1,1,2,2,2,3,3,3), 
                  progesterone = c(150, 140, 130, 145, 130, NA, 150, 150, NA),
                  hb_this_cycle = c(9, 8, 9, NA, 9, 10, 9, 8, 7),
                  hb_last_cycle = c(NA, 9, 8, NA, NA, 9, NA, 9, 8))

#   id progesterone hb_this_cycle hb_last_cycle
# 1  1          150             9            NA
# 2  1          140             8             9
# 3  1          130             9             8
# 4  2          145            NA            NA
# 5  2          130             9            NA
# 6  2           NA            10             9
# 7  3          150             9            NA
# 8  3          150             8             9
# 9  3           NA             7             8

任何幫助將不勝感激。 謝謝。

你可以像下面那樣做。 請注意,您的預期 output 可能有錯誤,因為第三組收到第二組的最后一個值,這可能不是您想要的?

data_ideal %>% group_by(id) %>% mutate(new = lag(hb_this_cycle))
# A tibble: 9 x 5
# Groups:   id [3]
     id progesterone hb_this_cycle hb_last_cycle   new
  <dbl>        <dbl>         <dbl>         <dbl> <dbl>
1     1          150             9            NA    NA
2     1          140             8             9     9
3     1          130             9             8     8
4     2          145            NA            NA    NA
5     2          130             9            NA    NA
6     3           NA            10             9    NA
7     3          150             9            NA    10
8     3          150             8             9     9
9     3           NA             7             8     8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM