Вяжем, используя group_by () на кадре с меткой-столбцом - PullRequest
0 голосов
/ 13 октября 2018

У меня есть фрейм данных с идентификаторами случаев и временными метками.

str(Frame$Timestamp) 
POSIXct[1:3320], format: "2018-01-02 09:10:14" "2018-01-02 09:10:14" "2018-01-02 09:35:30" "2018-01-02 10:30:43" "2018-01-02 17:10:09" ...

В консоли я могу без проблем выполнить group_by(Frame, CaseID).

Когда я связываю .Rmd-ноутбук с той же командой, я получаю следующую ошибку:

Error in grouped_df_impl(data, unname(vars), drop) : 
Column 'Timestamp'is of unsupported POSIXlt/POSIXt calls:
<Anonymous> ... group_by.data.frame -> grouped_df -> grouped_df_impl Execution halted.

Что я могу сделать, чтобы в этом случае можно было использовать group_by()?

Бен

1 Ответ

0 голосов
/ 13 октября 2018

Подход работает ниже.

Вывод group_by()

group_by(Frame, Timestamp)
## # A tibble: 1,000 x 2
## # Groups:   Timestamp [999]
##    Timestamp           CaseID
##    <dttm>               <int>
##  1 2018-10-01 19:09:56  18592
##  2 2018-10-16 14:20:57  49269
##  3 2018-09-30 02:37:33  66986
##  4 2018-10-11 20:16:19  22090
##  5 2018-10-20 13:16:46  11802
##  6 2018-10-05 17:05:00  70791
##  7 2018-10-14 05:54:05  32192
##  8 2018-10-13 22:44:01  92938
##  9 2018-09-28 21:40:36  86432
## 10 2018-10-14 03:53:11  90539
## # ... with 990 more rows

Содержимое Test.Rmd

---
title: "Test"
author: "Roman Abashin"
date: "13 Oct 2018"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

Load library 
```{r}
library(dplyr)
```

Create data
```{r}
set.seed(1701)
Frame <- data.frame(
    Timestamp = (as.POSIXct("2018-10-10 10:10:10") + 
        sample(-1000000:1000000,1000, replace = TRUE)), 
    CaseID = sample(10000:99999, 1000, replace = FALSE))
str(df)
```

Group by
```{r}
group_by(Frame, Timestamp)
```
...