r - 针织,在带有时间戳列的帧上使用 group_by()
问题描述
我有一个带有案例 ID 和时间戳的数据框。
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-notebook 时,我收到以下错误:
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()
在这种情况下使用?
本
解决方案
下面的方法有效。
的输出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)
```
推荐阅读
- zsh-completion - 如何让 zsh 继承完整的自动完成功能?
- rest - 无限制地从 couchbase 全文搜索 rest API 获取所有结果
- python - 使用自定义 `Manager` 来创建和获取“默认值”
- bash - 如何获得 2 行表示字符但具有不同二进制值的行,以便被 uniq 识别为重复项
- r - 什么类型的分析具有连续和分类预测变量的分类结果?
- javascript - 如何立即停止设置为间隔的功能
- css - autoprefixer 能否解决 Internet Explorer 的 CSS 变量问题?
- c# - 步骤定义文件错误
- r - 根据数据帧的单独向量中大于 x 的值替换一个向量中的值
- apache-kafka - 如果 RocksDB 在内存中缓冲,为什么要在 Kafka Streams Processor API 中启用记录缓存?