通过从 xts 对象中提取信息来创建数据框
Creating a dataframe by extracting information from a xts object
这是一个可重现的例子-
data <- rnorm(6)
dates1 <- as.POSIXct("2019-03-18 10:30:00", tz = "CET") + 0:2*60
dates2 <- as.POSIXct("2019-03-19 08:30:00", tz = "CET") + 0:2*60
dates <- append(dates1, dates2)
R <- xts(x = data, order.by = dates)
colnames(R) <- "R"
R$Label[1:6] <- 1
R$Label[4:6] <- 2
输出:
2019-03-18 10:30:00 0.8303556 1
2019-03-18 10:31:00 -1.5585603 1
2019-03-18 10:32:00 -0.1266884 1
2019-03-19 08:30:00 0.3562468 2
2019-03-19 08:31:00 1.0219780 2
2019-03-19 08:32:00 2.5127290 2
我正在尝试创建预期结果如下的数据框:
Label| start timestamp |end timestamp | start R | end R
1 | 2019-03-18 10:30:00|2019-03-18 10:32:00| 0.8303556|-0.1266884
.
.
你能帮忙吗?我可以单独调用这些值,但遗憾的是无法将它们放在一起。
对于此类操作,如果将数据转换为数据帧然后执行操作会更容易。
library(dplyr)
library(zoo)
R %>%
fortify.zoo() %>%
group_by(Label) %>%
summarise_at(vars(Index, R), list(start = first, end = last))
这是一个可重现的例子-
data <- rnorm(6)
dates1 <- as.POSIXct("2019-03-18 10:30:00", tz = "CET") + 0:2*60
dates2 <- as.POSIXct("2019-03-19 08:30:00", tz = "CET") + 0:2*60
dates <- append(dates1, dates2)
R <- xts(x = data, order.by = dates)
colnames(R) <- "R"
R$Label[1:6] <- 1
R$Label[4:6] <- 2
输出:
2019-03-18 10:30:00 0.8303556 1
2019-03-18 10:31:00 -1.5585603 1
2019-03-18 10:32:00 -0.1266884 1
2019-03-19 08:30:00 0.3562468 2
2019-03-19 08:31:00 1.0219780 2
2019-03-19 08:32:00 2.5127290 2
我正在尝试创建预期结果如下的数据框:
Label| start timestamp |end timestamp | start R | end R
1 | 2019-03-18 10:30:00|2019-03-18 10:32:00| 0.8303556|-0.1266884
.
.
你能帮忙吗?我可以单独调用这些值,但遗憾的是无法将它们放在一起。
对于此类操作,如果将数据转换为数据帧然后执行操作会更容易。
library(dplyr)
library(zoo)
R %>%
fortify.zoo() %>%
group_by(Label) %>%
summarise_at(vars(Index, R), list(start = first, end = last))