如何使用dplyr在多个时间序列上运行转换点分析
我正在从维基百科收集时间序列数据,并希望使用dplyr对每个时间序列进行变化点分析。但是当我这样做时,我得到一个错误,说数据需要是数字的,即使如何使用dplyr在多个时间序列上运行转换点分析,r,dplyr,time-series,R,Dplyr,Time Series,我正在从维基百科收集时间序列数据,并希望使用dplyr对每个时间序列进行变化点分析。但是当我这样做时,我得到一个错误,说数据需要是数字的,即使类函数声明它是数字的。希望你能帮忙 library(changepoint) library(dplyr) library(pageviews) library(data.table) articles <- c("Rugby_union", "Football") foo <- function(x){article_pageviews(
类
函数声明它是数字的。希望你能帮忙
library(changepoint)
library(dplyr)
library(pageviews)
library(data.table)
articles <- c("Rugby_union", "Football")
foo <- function(x){article_pageviews(project = "en.wikipedia",
article = x,
start = as.Date('2017-01-01'),
end = as.Date("2017-12-31")
, user_type = "user", platform = c("mobile-web"))
}
output<-articles %>% foo
output %>%
select(article, views) %>%
do(cpt.mean(.))
class(output$views)
库(变更点)
图书馆(dplyr)
图书馆(网页浏览)
库(数据表)
物品%
do(cpt.平均值()
类(输出$views)
库(变更点)
图书馆(dplyr)
图书馆(网页浏览)
文章什么是dat.grp?考虑到您希望在tidyverse中操作,我猜您将使用purrr::map
函数。然而,这只是从你的描述和缺乏任何测试数据或预期结果的可靠描述,我们只能猜测。请回答您的问题,使其可复制。然后我可以删除我的投票结果,这是因为没有引用错误消息,也没有办法在完全缺少数据的情况下看到错误。我更改了一个输入错误,该对象应称为输出。pageviews包应该下拉数据以查看其外观。我试图获得每个时间序列(橄榄球和足球)的转换点数量
library(changepoint)
library(dplyr)
library(pageviews)
articles <- c("Rugby_union", "Football")
foo <- function(x){article_pageviews(project = "en.wikipedia", article = x,
start = as.Date('2017-01-01'),
end = as.Date("2017-12-31"),
user_type = "user", platform = c("mobile-web"))
}
output <- articles %>%
foo
df <- as.data.frame(table(output$article))
output1 <- output %>%
dplyr::select(article, views) %>%
dplyr::filter(article == df[1,1])
output2 <- output %>%
dplyr::select(article, views) %>%
dplyr::filter(article == df[2,1])
q <- floor((min(length(output1$views), length(output2$views)))/2 + 1)
cp1 <- changepoint::cpt.mean(data = output1$views, Q = q, method = "BinSeg", penalty
= "SIC")
plot(cp1)
cp2 <- changepoint::cpt.mean(data = output2$views, Q = q, method = "BinSeg", penalty
= "SIC")
plot(cp2)