Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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中的日期计算给定ID的观测值_R - Fatal编程技术网

根据R中的日期计算给定ID的观测值

根据R中的日期计算给定ID的观测值,r,R,首先: 抱歉,如果这个问题听起来很愚蠢…或者我的格式不正确,我是新手。 我有以下数据: Value Date IDnum 1 230 2010-02-01 1 2 254 2011-07-07 2 3 300 2011-12-14 1 4 700 2011-01-23 3 5 150 2010-08-31 3 6 100 2010-05-06 1 使用以下代码创建: Value <- c(230, 2

首先: 抱歉,如果这个问题听起来很愚蠢…或者我的格式不正确,我是新手。 我有以下数据:

  Value       Date IDnum
1   230 2010-02-01     1
2   254 2011-07-07     2
3   300 2011-12-14     1
4   700 2011-01-23     3
5   150 2010-08-31     3
6   100 2010-05-06     1
使用以下代码创建:

Value <- c(230, 254, 300, 700, 150, 100)  
Date <- as.Date(c("01/02/2010", "07/07/2011", "14/12/2011", "23/01/2011", "31/08/2010", "06/05/2010")
            , "%d/%m/%Y")
IDnum <- c(001, 002, 001, 003, 003, 001)  
MyData <- data.frame(Value, Date, IDnum)
谢谢

库(data.table)
df$Date%group_by(IDnum)%%>%mutate(Obs=订单(日期))
#生效日期IDnum Obs
#1:   230 2010-02-01     1   1
#2:   254 2011-07-07     2   1
#3:   300 2011-12-14     1   3
#4:   700 2011-01-23     3   2
#5:   150 2010-08-31     3   1
#6:   100 2010-05-06     1   2

这个问题肯定是重复的!你搜索得不够@Andrew@joel.wilson那你为什么不把它标为一个重复的答案呢?对于那些投了反对票的人,我不认为你投了反对票,因为这是一个重复的答案,因为你自己每天都回答重复的问题!
  Value       Date IDnum Obs
1   230 2010-02-01     1   1
2   254 2011-07-07     2   1
3   300 2011-12-14     1   3
4   700 2011-01-23     3   2
5   150 2010-08-31     3   1
6   100 2010-05-06     1   2
library(data.table)
df$Date <- as.Date(df$Date, format = "%Y-%m-%d")
setDT(df)[, Obs := order(Date),by = .(IDnum)]

library(dplyr)
df %>% group_by(IDnum) %>% mutate(Obs = order(Date))

#   Value       Date IDnum Obs
#1:   230 2010-02-01     1   1
#2:   254 2011-07-07     2   1
#3:   300 2011-12-14     1   3
#4:   700 2011-01-23     3   2
#5:   150 2010-08-31     3   1
#6:   100 2010-05-06     1   2