Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 匹配值并将日期放入新列中_R - Fatal编程技术网

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))