例如,假设您有以下数据框:
ID<-c("11", "12", "13", "14", "14")
Date<-c("2020-01-01", "2020-02-01", "2020-03-15", "2020-04-10", "2020-06-01")
Item<-c("Item1", "Item1", "Item2", "Item2", "Item2")
ItemPrice<-c(5, 5, 7, 7, 7)
Quantity<-c(1, 2, -2, 2, 3)
Cost<-c(5, 10, -14, 14, 21)
df<-data.frame(ID, Date, Item, ItemPrice, Quantity, Cost)
df
ID Date Item ItemPrice Quantity Cost
1 11 2020-01-01 Item1 5 1 5
2 12 2020-02-01 Item1 5 2 10
3 13 2020-03-15 Item2 7 -2 -14
4 14 2020-04-10 Item2 7 2 14
5 14 2020-06-01 Item2 7 3 21
Run Code Online (Sandbox Code Playgroud)
但是,您希望按以下方式分隔行, …
例如,假设我有以下数据框:
ID<-c("A", "A", "B", "B", "B", "C")
StartDate<-as.Date(c("2018-01-01", "2019-02-05", "2016-04-18", "2020-03-03", "2021-12-13", "2014-03-03"), "%Y-%m-%d")
TermDate<-as.Date(c("2018-02-01", NA, "2016-05-18", "2020-04-03", "2021-12-15", "2014-04-03"), "%Y-%m-%d")
df<-data.frame(ID=ID, StartDate=StartDate, TermDate=TermDate)
ID StartDate TermDate
1 A 2018-01-01 2018-02-01
2 A 2019-02-05 <NA>
3 B 2016-04-18 2016-05-18
4 B 2020-03-03 2020-04-03
5 B 2021-12-13 2021-12-15
6 C 2014-03-03 2014-04-03
Run Code Online (Sandbox Code Playgroud)
我最终想要得到的是以下内容:
ID StartDate TermDate
1 A 2018-01-01 <NA>
2 B 2016-04-18 2021-12-15
3 C 2014-03-03 2014-04-03
Run Code Online (Sandbox Code Playgroud) 假设您有下表:
Student<-c("Bob", "Joe", "Sam", "John")
ClassDate<-as.Date(c("2020-01-01", "2020-01-01", "2020-01-02", "2020-01-05"), "%Y-%m-%d")
df<-data.frame(Student=Student, ClassDate=ClassDate)
df
Student ClassDate
1 Bob 2020-01-01
2 Joe 2020-01-01
3 Sam 2020-01-02
4 John 2020-01-05
Run Code Online (Sandbox Code Playgroud)
当您为 ClassDate 制作累积频率表时,您会得到以下内容:
data.frame(cumsum(table(df$ClassDate)))
cumsum.table.df.ClassDate..
2020-01-01 2
2020-01-02 3
2020-01-05 4
Run Code Online (Sandbox Code Playgroud)
但是,我正在寻找以下内容,其中仍包含缺少的日期
cumsum.table.df.ClassDate..
2020-01-01 2
2020-01-02 3
2020-01-03 3
2020-01-04 3
2020-01-05 4
Run Code Online (Sandbox Code Playgroud)