【发布时间】:2019-05-04 13:59:05
【问题描述】:
我有一个数据框,我想在其中创建一个新列,其中包含基于组内条件的值。因此,对于下面的数据框,我想创建一个新列 n_actions,它给出了
条件 1。对于整个组 GROUP 数字 2 如果 6 出现在 STEP 列中 条件 2. 对于整个组 GROUP,如果 9 出现在 STEP 列中,则数字 3 条件 3. 如果 GROUP 的 STEP 列中没有出现 6 或 9,则为 1
#dataframe start
dataframe <- data.frame(group = c("A", "A", "A", "B", "B", "B", "B", "B", "B", "C", "C", "C", "D", "D", "D", "D", "D", "D", "D", "D", "D"),
step = c(1, 2, 3, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9))
# dataframe desired
dataframe$n_actions <- c(rep(1, 3), rep(2, 6,), rep(1, 3), rep(3, 9))
【问题讨论】:
标签: r dataframe group-by conditional