将值转换为行号

问题描述 投票:0回答:1

我正在进行一些生存分析,并尝试将我的宽表转换为长格式,以便使用 dplyR 进行分析。我想将“死苍蝇”的值转换为具有二进制状态的行,例如:

死亡(n)
1 1
2 2

进入:

样品 状态
1 1 1
2 2 1
2 3 1

我尝试过使用 row_number() 的一些解决方案,但老实说我是一片空白。

感谢您的帮助。

r dplyr tidyverse data-manipulation
1个回答
0
投票

使用

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
© www.soinside.com 2019 - 2024. All rights reserved.