小编Dan*_*elG的帖子

计算一天中每小时发生的持续时间的一部分

我有一个带有开始和结束时间的数据框:

  id          start_time            end_time
1  1 2018-09-02 11:13:00 2018-09-02 11:54:00
2  2 2018-09-02 14:34:00 2018-09-02 14:37:00
3  3 2018-09-02 03:00:00 2018-09-02 03:30:00
4  4 2018-09-02 03:49:00 2018-09-02 03:53:00
5  5 2018-09-02 07:05:00 2018-09-02 08:05:00
6  6 2018-09-02 06:44:00 2018-09-02 06:57:00
7  7 2018-09-02 06:04:00 2018-09-02 08:34:00
8  8 2018-09-02 07:51:00 2018-09-02 08:15:00
9  9 2018-09-02 08:16:00 2018-09-02 08:55:00
Run Code Online (Sandbox Code Playgroud)

从这些时间段,我如何计算每天每小时发生的总分钟数?例如,如果一个时段从 9:45 开始并在 10:15 结束,我想将 15 分钟分配给 9:00 小时,将 15 分钟分配给 10:00 小时。

或者检查06上面数据中的小时,该小时包含在两个不同的行(句点)中:

6  6 2018-09-02 06:44:00 2018-09-02 06:57:00 …
Run Code Online (Sandbox Code Playgroud)

datetime r posixct lubridate

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

R中基于相似时间间隔合并两个数据帧

我有两个数据框,例如虚拟样本 df1(主数据集)和 df2。这些数据原本来自于两个不同的日志数据。

df1 始终是从午夜 02:00 到第二天 02:00 的完整数据集,在此期间具有不同的流值。但 df2 仅在特定时间段(02:00 到第二天 02:00 之间)有活动时才有价值。

我想知道如何将 df1 和 df2 结合起来。我的目标是拥有类似 df1 的完整数据集(从 02:00 到第二天 02:00)以及附加变量 - 代码 - 如果 df2 中的开始/结束时间没有活动/代码,则此变量可以为空。有时,如果仅在开始/结束时间段的某些部分有活动,则 df1 中的行需要分成 2 个

我正在寻找与此类似的结果。仅显示 4 行作为示例

id  STREAM_1    STREAM_2    STREAM_3    START                   END
401 NIVH-ON      IN            null     2022-08-16 7:43:30  2022-08-16 7:45:00
401 INVH-ON      OUT          12be4     2022-08-16 7:45:00  2022-08-16 7:49:00
401 INVH-ON      OUT          12be4     2022-08-16 7:49:00  2022-08-16 8:15:00
Run Code Online (Sandbox Code Playgroud)

df1:

df1 <- tibble::tribble(
   ~id,   ~STREAM_1, ~STREAM_2,                ~START,                  ~END,
  401L,  "NIVH-OFF",      "IN",  "2022-08-16 …
Run Code Online (Sandbox Code Playgroud)

merge timestamp r data.table tidyverse

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

highcharts 中的分面函数

我有一个像这个例子的数据:

df <-
  data.frame(
    date = seq(as.Date("2015-01-01"), as.Date("2015-12-31"), 100),
    id = rep(LETTERS, each = 4)[1:100],
    replicate(2, sample(1001, 100))
  )
Run Code Online (Sandbox Code Playgroud)

用 ggplot 绘图没问题

ggplot(df, aes(x = date)) +
  geom_line(aes(y = X1)) +
  geom_line(aes(y = X2), linetype = 2) +
  facet_wrap( ~ id , scales = "free") 
Run Code Online (Sandbox Code Playgroud)

我发现了大约方面实施highchart一些信息 higcharter网测试 ,我试图以使一个互动的情节与highchart绘制,但highchart::hw_grid()browsable()已被弃用。有人可以帮我绘制数据吗?

我的片段:

  highchart() %>% 
    hc_add_series(name = "X1", data = df$X1) %>% 
    hc_add_series(name = "X2", data = df$X2) %>% 
    hw_grid(id, rowheight = 200, ncol = 3)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-highcharter

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

在pycharm中配置Pipenv环境

我试图在 pycharm 的项目解释器中添加 pipelinenv 但它会引发错误。

这些是我遵循的步骤:

-1- 首先在我安装的命令提示符下pip install pipenv

-2- 在命令提示符下转到我的项目目录并输入pipenv shell(此命令将查找 pipelinenv 环境并加载它,否则如果不存在将创建一个新环境)

-3- 要安装上次成功记录的环境(所有包和依赖项),请键入pipenv install --ignore-pipfile安装生产环境

-4- 在 PyCharm 文件->设置->项目中:项目名称->项目解释器click add 在此输入图像描述

-5-选择pipenv environment,pycharm自动显示pipenv可执行文件 在此输入图像描述

-6- 按确定 - 我在这里犯了什么错误?我在全局和我的项目目录中安装了管道 在此输入图像描述

在项目目录上运行 pipelinev shell 显示了这一点

Shell for C:\Users\gh8001\.virtualenvs\churn_prediction-UB3VC30i already activated.
No action taken to avoid nested environments.
Run Code Online (Sandbox Code Playgroud)

python pycharm pipenv

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

将数据文件和标签文件组合在一起,在 R 中拥有一个单一的标签数据框

我有两个数据框,一个是调查数据(data.csv),另一个是标签数据(label.csv)。这是示例数据(我的原始数据大约有 150 个变量)

#sample data

df <- tibble::tribble(
  ~id, ~House_member, ~dob, ~age_quota, ~work, ~sex, ~pss,
  1L,            4L,  1983L,  2L,        2L,     1,      1,
  2L,            1L,  1940L,  7L,        2L,     1,      2,
  3L,            2L,  1951L,  5L,        6L,     1,      1,
  4L,            4L,  1965L,  2L,        2L,     1,      4,
  5L,            3L,  1965L,  2L,        3L,     1,      1,
  6L,            1L,  1951L,  3L,        1L,     1,      3,
  7L,            1L,  1955L,  1L,        1L,     1,      3,
  8L,            4L,  1982L,  2L,        2L,     2,      5,
  9L,            2L,  1990L,  2L,        4L,     2,      3,
  10L,            2L, …
Run Code Online (Sandbox Code Playgroud)

r dataframe r-haven purrr tidyverse

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

gganimate 时间序列和两条线图

下面的源代码在这里。我正在尝试用我的数据复制它。我有一个时间序列数据,我在 y 轴上绘制活动和非活动数字。这是我的示例数据结构:

df <- tibble::tribble(
  ~Date, ~active, ~non_active,
      1,                 848,             335,
      2,                 998,             280,
      3,                1096,             308,
      4,                1127,             274,
      5,                1022,             313,
      6,                 973,             351,
      7,                1131,             302,
      8,                1165,             312,
      9,                1159,             293,
     10,                1192,             311,
     11,                1221,             332,
     12,                1075,             369,
     13,                1056,             416,
     14,                1219,             356,
     15,                1240,             363,
     16,                1270,             376,
     17,                1302,             325,
     18,                1292,             346,
     19,                1104,             374,
     20,                1084,             413,
     21,                1257,             350,
     22,                1306,             356,
     23,                1318,             368, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gganimate

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

连接两个具有最接近时间戳记间隔的数据集

我编辑了问题-请阅读第二部分Edit 2

我需要将两个数据集与壁橱时间戳一起加入。第一个数据集是来自移动应用程序的日记数据集:

    df1 <- data.frame(stringsAsFactors=FALSE,
        datetime = c("2019-03-19T13:26:52Z", "2019-03-19T13:26:19Z",
                     "2019-03-19T13:23:46Z", "2019-03-19T13:22:20Z",
                     "2019-03-19T13:09:56Z", "2019-03-19T13:06:04Z", "2019-03-19T13:05:21Z",
                     "2019-03-19T13:04:37Z", "2019-03-19T12:47:28Z",
                     "2019-03-19T12:46:42Z"),
       transport = c("Trainride", "Trainride", "Trainride", "Trainride",
                     "Trainride", "Trainride", "Trainride", "Trainride",
                     "Trainride", "Trainride"),
              id = c("5-3", "5-3", "5-3", "5-3", "5-3", "5-3", "5-3", "5-3", "5-3",
                     "5-3"),
            disc = c("start", "stop", "start", "stop", "start", "stop", "start",
                     "stop", "start", "stop")
    )
 # datetime dttr object   
    df1 <- df1 %>% 
      mutate(datetime = lubridate::as_datetime(datetime))
Run Code Online (Sandbox Code Playgroud)

这里:

              datetime transport  id  disc
1  2019-03-19 13:26:52 Trainride 5-3 start
2  2019-03-19 …
Run Code Online (Sandbox Code Playgroud)

datatable timestamp r dplyr

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

Databricks 和 Spark 中的公用表表达式 (CTE)

我在 Databricks 中有一个 spark 数据框。我正在尝试使用通用表表达式 (CTE) 运行一些 sql 查询。这是前 10 行数据

+----------+----------+------+---+---+---------+-----------------+
| data_date|   user_id|region|sex|age|age_group|sum(duration_min)|
+----------+----------+------+---+---+---------+-----------------+
|2020-01-01|22600560aa|     1|  1| 28|        2|              0.0|
|2020-01-01|17148900ab|     6|  2| 60|        5|           1138.0|
|2020-01-01|21900230aa|     5|  1| 43|        4|              0.0|
|2020-01-01|35900050ac|     8|  1| 16|        1|            224.0|
|2020-01-01|22300280ad|     6|  2| 44|        4|              8.0|
|2020-01-02|19702160ac|     2|  2| 55|        5|              0.0|
|2020-02-02|17900020aa|     5|  2| 64|        5|            264.0|
|2020-02-02|16900120aa|     3|  1| 69|        6|              0.0|
|2020-02-02|11160900aa|     6|  2| 52|        5|              0.0|
|2020-03-02|16900290aa|     5|  1| 37|        3|              0.0|
+----------+----------+------+---+---+---------+-----------------+
Run Code Online (Sandbox Code Playgroud)

在这里,我将每个用户注册日期存储在 regs CTE …

common-table-expression apache-spark apache-spark-sql databricks

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

使用 srvyr 包按组划分的比例

您好,我有一个带有权重列的数据框,如示例所示:

df <- tibble::tribble(
  ~id, ~edu, ~q_d1, ~q_d2_1, ~weight,
   1L,   1L,    1L,      0L,    1740,
   2L,   1L,    1L,      0L,    1428,
   3L,   2L,    1L,      2L,     496,
   4L,   2L,    1L,      2L,     550,
   5L,   3L,    1L,      1L,    1762,
   6L,   4L,    1L,      0L,    1004,
   7L,   5L,    1L,      0L,     522,
   8L,   3L,    2L,      0L,    1099,
   9L,   4L,    2L,      2L,    1295
  )
Run Code Online (Sandbox Code Playgroud)

我使用 srvyr 包来计算组的汇总统计数据。我的脚本:

sv_design_test <- df %>%
  srvyr::as_survey_design(weights = weight)

sv_design_test %>% 
  dplyr::mutate(smartphone = case_when(
    q_d1 == 2 ~ "No Internet",
    q_d2_1 > 0 ~ …
Run Code Online (Sandbox Code Playgroud)

r survey dplyr

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

将数据框转换为 xts 对象

我有一个类似于这个虚拟数据的数据帧(时间序列):

df <- data.frame(stringsAsFactors=FALSE,
      symbol = c("N2", "NJ", "K-Kl", "K-P3", "K-N", "KP+", "K13", "KS",
                 "KTotal", "P500", "P800", "P23", "P55", "PA", "PKA"),
        date = c("2017-10-12", "2017-10-12", "2017-10-12", "2017-10-12",
                 "2017-10-12", "2017-10-12", "2017-10-12", "2017-10-12",
                 "2017-10-12", "2017-10-12", "2017-10-12", "2017-10-12", "2017-10-12",
                 "2017-10-12", "2017-10-12"),
     open_pr = c(10.2, 2.7, 0.5, 4.5, 2.9, 8.1, 2.3, 1, 43.2, 28.5, 5.8, 6.7,
                 5.7, 0.1, 10),
       gross = c(460L, 121L, 21L, 203L, 130L, 363L, 102L, 45L, 1946L, 1282L,
                 262L, 303L, 256L, 6L, 449L),
     avg_aud = c(19L, 3L, 0L, 5L, 5L, 21L, …
Run Code Online (Sandbox Code Playgroud)

r time-series zoo xts

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