R 和 dplyr:创建一个新列,将值除以另一列的多个最大值

2024-03-17

我正在使用 dplyr 编辑数据框,其中我有关于不同个体(id)的多个反应时间(rt)的信息。我现在想制作一个新专栏,其中我将每个特定反应时间除以个人的最大反应时间。 目前,我只能使用以下代码将每个特定反应时间除以该组的最大反应时间:

df <- mutate(df, spcRT=rt)
df <- group_by(df, id, rt) %>% summarise(
      spcRT = max(df$rt, na.rm=TRUE) ) %>% as.data.frame()
 which(is.na(df))

df <- mutate(df,IDspcRT = rt/spcRT)

如果我们需要通过将反应时间 ('rt') 除以最大反应时间 ('spcRT') 来创建列 ('spcRT')max(rt, na.rm=TRUE))对于每个“id”,那么我们需要按“id”分组并进行除法。

 df %>%
    group_by(id) %>%
    mutate(spcRT = rt/max(rt, na.rm=TRUE))

目前尚不清楚为什么OP在帖子中使用“rt”和“id”作为分组变量。它只会给出一个唯一的“rt”值,并且不需要任何max.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 和 dplyr:创建一个新列,将值除以另一列的多个最大值 的相关文章

随机推荐