小编GM0*_*M01的帖子

如何按 R 中列中的次数拆分行?

例如,假设您有以下数据框:

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)

但是,您希望按以下方式分隔行, …

split r dataframe

6
推荐指数
3
解决办法
81
查看次数

如何在 R 中创建一个新的数据框,结合每个 ID 可用的第一个日期和最后一个日期?

例如,假设我有以下数据框:

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)

r

5
推荐指数
1
解决办法
48
查看次数

在 R 中制作日期表格时,如何填写缺失的日期以显示频率为 0?

假设您有下表:

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)

r

5
推荐指数
1
解决办法
52
查看次数

标签 统计

r ×3

dataframe ×1

split ×1