我的df“ temp”看起来像下面的前四列:
ID OBS NUMER DENOM RATIO
1 1 26 NA 1.5
1 2 10 NA 0,5556
1 3 18 18 1
1 4 51 26.333 1,461
2 1 17 NA 0,2
我正在尝试通过将NUMER列的组值除以该组的第一个不是NA的DENOM值来添加第五列。我该怎么做?
temp %>%
group_by(ID) %>%
mutate(RATIO = NUMER/first(DENOM[!is.na(DENOM)]))
但是,运行此命令会给我以下错误消息:
mutate_impl(.data,点)中的错误:列RATIO
的长度必须为2(组大小)或一个,而不是0。
我也尝试过
temp %>%
group_by(ID) %>%
mutate(RATIO = NUMER/first(.$DENOM[!is.na(.$DENOM)]))
,但是在这种情况下,它似乎被整个DENOM列的第一个值除以,而不是该列的组的第一个值。请帮忙! :(