我正在进行一些生存分析,并尝试将我的宽表转换为长格式,以便使用 dplyR 进行分析。我想将“死苍蝇”的值转换为具有二进制状态的行,例如:
日 | 性 | 死亡(n) |
---|---|---|
1 | 男 | 1 |
2 | 男 | 2 |
进入:
日 | 样品 | 性 | 状态 |
---|---|---|---|
1 | 1 | 男 | 1 |
2 | 2 | 男 | 1 |
2 | 3 | 男 | 1 |
我尝试过使用 row_number() 的一些解决方案,但老实说我是一片空白。
感谢您的帮助。
使用
uncount
的方法
library(dplyr)
library(tidyr)
df %>%
uncount(`Dead(n)`) %>%
mutate(Sample=row_number(), Status=1)
Day Sex Sample Status
1 1 Male 1 1
2 2 Male 2 1
3 2 Male 3 1