R 匹配值并将日期放入新列中
我有一个如下所示的数据帧:R 匹配值并将日期放入新列中,r,R,我有一个如下所示的数据帧: accountName date orderNumber A 1/1/2016 1 B 1/2/2016 1 A 1/3/2016 2 A 1/4/2016 3 B 1/5/2016 2 C 1/6/2016 1 A 1/7/2016 4 我希望能够找到一个人的订单号,并在新栏中列出该订单的日期,如果不适
accountName date orderNumber
A 1/1/2016 1
B 1/2/2016 1
A 1/3/2016 2
A 1/4/2016 3
B 1/5/2016 2
C 1/6/2016 1
A 1/7/2016 4
我希望能够找到一个人的订单号,并在新栏中列出该订单的日期,如果不适用,则填写N/a。我将沿着一个序列来查找第n个订单的客户的确切日期
accountName date orderNumber firstOrderDate secondOrderDate
A 1/1/2016 1 1/1/2016 N/A
B 1/2/2016 1 1/2/2016 N/A
A 1/3/2016 2 N/A 1/3/2016
A 1/4/2016 3 N/A N/A
B 1/5/2016 2 N/A 1/5/2016
C 1/6/2016 1 1/6/2016 N/A
A 1/7/2016 4 N/A N/A
我尝试过使用match
,但我得到的结果在不返回df的唯一值的情况下没有意义
df[match((df$count), 1), ]
我不是问如何对序列进行编码,而是问如何找到与订单号对应的日期并将其放入新列中
感谢您的帮助
谢谢,在base R中:
df$firstOrderDate <- with(df, ifelse(orderNumber == 1, date, NA))
df$firstOrderDate我认为应该是%>%,而不是%%。。。代码成功了!谢谢哦,%%
是取代df%
的magrittr
操作符,很抱歉出现了不必要的速记!我不知道马格里特!我试图运行您的代码,但出现了错误:找不到函数“%%”
它是否包含在dplyr中?它不是--您需要库(magrittr)
。如果您已经安装了tidyverse
,那么它已经安装好了。太好了。再次谢谢你!
df %<>% mutate(firstOrderDate = ifelse(orderNumber == 1, date, NA))