【发布时间】:2019-05-22 08:03:41
【问题描述】:
我有如下的df,我想添加一个基于ID 和semester_num 的新行。到目前为止使用dplyr 将是:
df %>%
group_by(ID) %>%
group_by(semster_num) %>%
#add new row here
我希望新行包含与上一行相似的所有记录除了第三列值 (subject_result2) 应与上一行的第 4 列 (Success) 相同。
tibble::tribble(
~ID, ~semester_num, ~subject_result2, ~Success,
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 2, "MATH1PassedTerm1", "Grad_ENSC",
100000L, 2, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 2, "OTHERPassedTerm1", "Grad_ENSC",
200000L, 1, "OTHERPassedTerm2", "fail",
200000L, 1, "MATH1PassedTerm2", "fail",
200000L, 2, "MATH1PassedTerm2", "fail",
200000L, 2, "OTHERPassedTerm2", "fail"
)
结果:(我表示新添加的行)
~ID, ~semester_num, ~subject_result2, ~Success,
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 1, "OTHERPassedTerm1", "Grad_ENSC",
>> 100000L, 1, "Grad_ENSC", "Grad_ENSC",
100000L, 2, "MATH1PassedTerm1", "Grad_ENSC",
100000L, 2, "OTHERPassedTerm1", "Grad_ENSC",
100000L, 2, "OTHERPassedTerm1", "Grad_ENSC",
>> 100000L, 2, "Grad_ENSC", "Grad_ENSC",
200000L, 1, "OTHERPassedTerm2", "Grad_ENSC",
200000L, 1, "MATH1PassedTerm2", "fail",
>> 200000L, 1, "Fail", "fail",
200000L, 2, "MATH1PassedTerm2", "fail",
200000L, 2, "OTHERPassedTerm2", "fail",
>> 200000L, 2, "fail, "fail
请帮助在 r 中实现它。 (也可以使用其他包)
【问题讨论】: