我正在尝试找出整合数据框的最佳方法,但我似乎遇到了障碍。我怎样才能将这两行组合起来,使迈克尔的试用日期和购买日期位于同一行?
**user** | **trial_date** | **purchase_date**
Michael | 01-02-2016 | NA
Michael | NA | 02-15-2016
最佳答案
您可以使用 tidyr
中的 spread
和 gather
函数来消除 NA,方法是首先将两列聚集到一列中,然后过滤组合数据列中的 NA,然后将它们展开。
df %>%
group_by(user) %>%
gather("type", "date", trial_date, purchase_date) %>%
filter(!is.na(date)) %>%
spread(type, date)
# user purchase_date trial_date
# * <fctr> <chr> <chr>
# 1 Michael 02-15-2016 02-15-2016
关于r - 操纵数据框,使每个人的所有相关值都在一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42876095/