小编lg9*_*929的帖子

识别开始日期,结束日期,连续编号的运行时间,并转置到新的数据框中

我有一组看起来像这样的数据:

          Date boolean
407 2006-06-01       1
408 2006-06-02       1
409 2006-06-03       1
410 2006-06-04      NA
411 2006-06-05       0
412 2006-06-06       1
413 2006-06-07       1
414 2006-06-08       0
415 2006-06-09       1
Run Code Online (Sandbox Code Playgroud)

由此,我试图创建一个新的数据框,该数据框将使用列标题显示1运行的日期以及运行的时间,并带有列标题:1)开始日期,2)结束日期和3)运行时间。

最终,我想从上面的数据创建一个看起来像这样的数据框:

  Start Date   End Date  Length of Run
1 2006-06-01 2006-06-03              3
2 2006-06-06 2006-06-07              2  
Run Code Online (Sandbox Code Playgroud)

我的数据中也有一些NA,在整个数据中也需要忽略。

r date

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

基于 R 中的日期列使用连续日期扩展数据框

我想根据“日期”列扩展数据框,以便在当前日期之间按时间顺序出现新的日期行。我的“日期”列是按时间顺序排列的,跨度为 5 年,并且包含我想忽略的重复日期。我希望新行的相应 Group 和 Draw 行为“NA”。

zz <- "Date Group Draw
1  2006-05-11    bb     T
2  2006-05-11    bb     F
3  2006-05-14    aa     T
4  2006-05-16    aa     T
5  2006-05-20    cc     F
6  2006-05-20    bb     F
7  2006-05-21    aa     T"

Data <- read.table(text=zz, header = TRUE)
Run Code Online (Sandbox Code Playgroud)

所以我希望我的新数据框看起来像这样:

xx <- "Date Group Draw
1  2006-05-11    bb     T
2  2006-05-11    bb     F
3  2006-05-12    NA     NA
4  2006-05-13    NA     NA
5  2006-05-14    aa     T
6  2006-05-15    NA     NA
7  2006-05-16    aa     T …
Run Code Online (Sandbox Code Playgroud)

expand r date na

3
推荐指数
1
解决办法
2652
查看次数

当R中的行少一行时,使用diff()函数添加新列

如果我有像mtcars这样的示例数据框,并且我想找到所有行的mtcars $ qsec之间的差异,我可以做diff(mtcars $ qsec).但有没有一种简单的方法可以使diff(mtcars $ qsec)成为原始mtcars数据框中的新列?我发现它很困难,因为diff(mtcars $ qsec)中的行少于其他mtcars.

> head(mtcars,3)

               mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4     21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag 21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710    22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Run Code Online (Sandbox Code Playgroud)

diff r

2
推荐指数
1
解决办法
2741
查看次数

标签 统计

r ×3

date ×2

diff ×1

expand ×1

na ×1