小编pgc*_*ahy的帖子

重叠时间删除行的有效方法

我有一个较长的数据集,其中的列分别代表开始时间和结束时间,并且如果行与另一行重叠并且具有较高的优先级(例如1为最高优先级),我想删除该行。我的示例数据是

library(tidyverse)
library(lubridate)
times_df <- tibble(start = as_datetime(c("2019-10-05 14:05:25", 
    "2019-10-05 17:30:20", 
    "2019-10-05 17:37:00", 
    "2019-10-06 04:43:55", 
    "2019-10-06 04:53:45")), 
    stop = as_datetime(c("2019-10-05 14:19:20",
    "2019-10-05 17:45:15", 
    "2019-10-05 17:50:45", 
    "2019-10-06 04:59:00",
    "2019-10-06 05:07:10")), priority = c(5,3,4,3,4))
Run Code Online (Sandbox Code Playgroud)

我想出的方法是通过找到具有较高优先级值的重叠,然后使用anti_join从原始数据帧中将其删除来向后攻击该问题。如果三个时间段重叠相同的时间点,那么此代码将无法正常工作,而且我敢肯定,有一种更高效,更实用的方法可以执行此操作。

dropOverlaps <- function(df) {
    drops <- df %>% 
        filter(stop > lead(start) | lag(stop) > start) %>% 
        mutate(group = ({seq(1, nrow(.)/2)} %>% 
        rep(each=2))) %>% 
        group_by(group) %>% 
        filter(priority == max(priority))
    anti_join(df, drops)
}

dropOverlaps(times_df)
#> Joining, by = c("start", "stop", "priority")
#> # A tibble: 3 x …
Run Code Online (Sandbox Code Playgroud)

r dplyr

7
推荐指数
1
解决办法
128
查看次数

将甘特任务设置为美人鱼截止日期之前的相对日期

我正在使用美人鱼 js 生成甘特图。在文档中,它显示了如何使用“after x”设置相对于先前任务完成的任务,例如:

section A section
   Completed task            :done,    des1, 2014-01-06,2014-01-08
   Active task               :active,  des2, 2014-01-09, 3d
   Future task               :         des3, after des2, 5d
   Future task2              :         des4, after des3, 5d
Run Code Online (Sandbox Code Playgroud)

是否有任何等价物可以将任务设置随后的截止日期之前?我尝试用“之前”替换“之后”,但这没有用

gantt-chart mermaid

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

如何仅将字符串的一部分处理为 R 中的日期

我有一些来自 api 的数据,它以一种不寻常的格式提供时间戳,最后包括一周中的哪一天和一年中的哪一天。例如 [2021, 8, 22, 22, 0, 20, 6, 234] 是 2021/08/22 22:00:20 在一周的第 6 天,一年的第 234 天。我想将其转换为 lubridate 日期时间对象,但不知道如何去除最后两个值。

例如我想把这个数据

example <- tibble(timestamp = c("[2021, 8, 22, 22, 0, 20, 6, 234]", "[2021, 8, 22, 22, 0, 30, 6, 234]", "[2021, 8, 22, 22, 0, 41, 6, 234]"), temperature = c(28,29,30))并将时间戳列转换为 lubridate 日期时间类型。有任何想法吗?

r lubridate

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

使用 case_when 和startsWith 有选择地按行进行变异

我正在尝试基于另一列创建一个新列,用于case_when根据每行的值给出不同的输出。

我从df <- data.frame(a=c("abc", "123", "abc", "123"))

b并想像这样生成一个新列

#>     a      b
#> 1 abc letter
#> 2 123 number
#> 3 abc letter
#> 4 123 number
Run Code Online (Sandbox Code Playgroud)

我已经尝试过df %>% mutate(b = case_when(startsWith(a, "a") ~ "letter", startsWith(a, "1") ~ "number")),但它只给出了一个错误。有人可以告诉我如何根据 a 列中行的第一个字母获取 b 列的不同值吗?

r dplyr

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

mac上的matplotlib不显示

关于在mac上安装matplotlib有很多问题,但据我所知,我已经使用pip正确安装了它,它只是无法正常工作.当我尝试使用matplotlib.pyplot.plot(x,y)运行脚本时,没有任何反应.没有错误,没有任何错误.

import matplotlib.pyplot

x = [1,2,3,4]
y = [4,3,2,1]

matplotlib.pyplot.plot(x, y)
Run Code Online (Sandbox Code Playgroud)

当我在终端中运行一个名为pyplot.py的文件时,我得到了这个:

pgcudahy$ python pyplot.py
pgcudahy$ 
Run Code Online (Sandbox Code Playgroud)

没有错误,但也没有情节.在一个交互式python shell中我得到了这个:

>>> import matplotlib
>>> print matplotlib.__version__
1.1.1
>>> print matplotlib.__file__
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/__init__.pyc
Run Code Online (Sandbox Code Playgroud)

这让我相信它已正确安装.

有任何想法吗?

python macos pip matplotlib osx-mavericks

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

使OptimalCutpoints在R中工作

我正在尝试确定连续变量的最佳临界值,以预测二进制结果。R包OptimalCutpoints似乎很理想,但我无法使其正常工作。

这是我在数据框“示例”中的数据

id  outcome value
200 Favorable   -75.2
201 Favorable   -34.0
202 Favorable   -35.2
203 Favorable   -23.3
204 Unfavorable -25.0
205 Favorable   -10.6
206 Favorable   -19.3
207 Favorable   0.0
208 Favorable   -149.8
209 Favorable   0.8
210 Favorable   9.6
211 Unfavorable 5.1
212 Favorable   -8.4
213 Favorable   -1.3
214 Favorable   0.0
215 Unfavorable 0.0
216 Favorable   -26.2
217 Favorable   -119.1
218 Favorable   7.2
219 Unfavorable -37.0
Run Code Online (Sandbox Code Playgroud)

当我尝试跑步时

optimal.cutpoint.ROC01 <- optimal.cutpoints(X = "value", status = "outcome", tag.healthy = 'Favorable', methods = "ROC01", …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×4

dplyr ×2

gantt-chart ×1

lubridate ×1

macos ×1

matplotlib ×1

mermaid ×1

osx-mavericks ×1

pip ×1

python ×1