【发布时间】:2021-12-15 18:13:05
【问题描述】:
我有这个数据框
df1 <- data.frame(
Type1 = c("A","A","A", "AB", "AB"),
Type2 = c(1L,2L,2L, 1L, 1L),
Value = c(1L, 2L, 1L, NA, NA), , Median = c(1L, 1.5, 1.5, NA, NA))
我想通过 Type1 和 Type2 将新列中的中位数转换为新变量“AB”而不汇总,以便在现有列中获得新值。
df12 <- data.frame(
Type1 = c("A","A","A", "AB", "AB"),
Type2 = c(1L,2L,2L, 1L, 1L),
Value = c(1L, 2L, 1L, NA, NA), Median = c(1L, 1.5, 1.5, 1L, 1L))
我的尝试
df1 %>% group_by(Type1, Type2) %>% mutate(Median = ifelse(Type1 == "AB" & Type2 == 1, median(Value), Median))
【问题讨论】:
标签: r if-statement dplyr