我想使用dplyr为每小时(因子变量)拟合一个模型,我得到一个错误,我不太确定什么是错的.
df.h <- data.frame(
hour = factor(rep(1:24, each = 21)),
price = runif(504, min = -10, max = 125),
wind = runif(504, min = 0, max = 2500),
temp = runif(504, min = - 10, max = 25)
)
df.h <- tbl_df(df.h)
df.h <- group_by(df.h, hour)
group_size(df.h) # checks out, 21 obs. for each factor variable
# different attempts:
reg.models <- do(df.h, formula = price ~ wind + temp)
reg.models <- do(df.h, .f = lm(price ~ wind + temp, data …Run Code Online (Sandbox Code Playgroud) dplyr中的do-function让你可以快速轻松地制作很多很酷的模型,但我很难将这些模型用于良好的滚动预测.
# Data illustration
require(dplyr)
require(forecast)
df <- data.frame(
Date = seq.POSIXt(from = as.POSIXct("2015-01-01 00:00:00"),
to = as.POSIXct("2015-06-30 00:00:00"), by = "hour"))
df <- df %>% mutate(Hour = as.numeric(format(Date, "%H")) + 1,
Wind = runif(4320, min = 1, max = 5000),
Temp = runif(4320, min = - 20, max = 25),
Price = runif(4320, min = -15, max = 45)
)
Run Code Online (Sandbox Code Playgroud)
我的因子变量是Hour,我的外生变量是Wind和temp,我想要预测的是Price.所以,基本上,我有24个模型,我希望能够进行滚动预测.
现在,我的数据框包含180天.我想回到100天,做一天滚动预测,然后能够将其与实际进行比较Price.
这种暴力行为看起来像这样:
# First I fit …Run Code Online (Sandbox Code Playgroud) 我想绘制一些飞机,每个都是不平等.在我绘制了所有平面之后,我想将它们组合在一起,并为这些线条内的区域着色.图像绘制了很多3d线条并将区域内部着色 - 这就是我想要做的.
我的数据如下:
df <- structure(list(z = c(0, 0.06518, 0.08429, -0.01659, 0, 0.06808,
0.12383, -1, -0.01662, 0.28782, 0, -0.09539, 0.04255, 0.09539,
-0.13361, -0.28782, -0.14468, -0.19239, 0.10642), x = c(1, 0.02197,
0.03503, -0.02494, 0, 0.04138, 0.17992, 0, -0.02482, 0.1122,
0, 0.01511, 0.0011, -0.01511, -0.06699, -0.1122, -0.06876, 0.12078,
0.10201), y = c(0, 0.08735, 0.09927, 0.03876, -1, 0.22114, -0.00152,
0, 0.03811, -0.07335, 0, -0.03025, 0.07681, 0.03025, -0.23922,
0.07335, -0.25362, -0.09879, 0.05804), value = c(5801L, 135L,
162L, 109L, 4250L, 655L, 983L, 4500L, 108L, …Run Code Online (Sandbox Code Playgroud) 我正在努力合并一些凌乱的数据.
我有一个像这样的数据框:
df <- data.frame(name = c("A", "A", "B", "B", "C", "C"),
number = c(1, 1, 2, 2, 3, 3),
product = c("fixed", "variable", "aggregate", "variable", "fixed", "fixed"),
vol = c(1, 9, 2, 6, 4, 7)
)
Run Code Online (Sandbox Code Playgroud)
以下是我正在努力的方向:
result <- data.frame(name = c("A", "B", "C"),
number = c(1, 2, 3),
new_product = c("fixed variable", "aggregate variable", "fixed"),
vol = c(10, 8, 11)
)
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要合并数据框中的所有相等行.如果它们不是唯一的,我需要将它们合并为一个名称,如结果中的名称.
我已经尝试了一个dplyr,但在dplyr中我无法以任何有意义的方式使new_product合并,因为我无法再次引用同一列.
df %>% group_by(name) %>% summarize (name = name,
number = number,
newproduct = paste(product, product) …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个运行批处理文件的任务,该文件运行的.rmd文件应该每天编织一个可爱的.html文件.
如果我手动运行批处理文件,一切正常.但是,当我通过任务计划程序运行它时,我从命令提示符处收到以下错误:
Error in file(con, "w") : cannot open the connection
Calls: <Anonymous> -> knit -> writeLines -> file
In addition: Warning message:
In file<con, "w") : cannot open file 'residual_v1.md" : Permission denied
Execution halted
Run Code Online (Sandbox Code Playgroud)
在打开开始菜单时,同一用户在任务调度程序中列为"作者".
批处理文件代码:
"C:\R\R-3.0.3\bin\x64\Rscript.exe" -e "library(knitr,dplyr); knitr::knit2html('C:/R/Rapporter/residual_model/Residual_v1.Rmd')"
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办.
我每天都在Windows计算机上运行一些自动报告批处理文件.但是如何使用.rmd文件执行此操作并生成html输出?
所以,这适用于我使用普通.R文件的批处理文件:
"C:\R\R-3.0.1\bin\x64\Rscript.exe" --default-packages=methods
"C:\R\R-3.0.1\bin\x64\Scripts\models.R"
Run Code Online (Sandbox Code Playgroud)
但是,这不会:
"C:\R\R-3.0.1\bin\x64\Rscript.exe" --default-packages=methods,knitr
"C:\R\R-3.0.1\bin\x64\Scripts\test_knitr.Rmd"
Run Code Online (Sandbox Code Playgroud)
我尝试了一些受命令行启发的变体,如:
"C:\R\R-3.0.1\bin\x64\Rscript.exe" --default-packages=methods,knitr
knit("C:\R\R-3.0.1\bin\x64\Scripts\test_knitr.Rmd")
Run Code Online (Sandbox Code Playgroud)
但到目前为止还没有成功!我是一个完全knitr/.rmd newbee,所以我甚至不确定它是否可以完成.
我制作了一个应用程序,您需要在其中选择一个日期。当您使用日期选择器时,它会显示在菜单栏后面,并隐藏重要信息。
您可以看到日期选择器的顶行,可以查看您所在的月份并在月份之间快速浏览。
现在,如果日期放低一点,菜单栏将隐藏日期选择器的顶部并显示如下:
我怎样才能避免这种情况?我添加了使用下面的第二个日期选择器复制错误的代码
# Setup
library(shiny)
library(dplyr)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
## Sidebar content
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th")),
dateRangeInput('dateRange1',
label = 'Period 1, Current Month',
start = Sys.Date(), end = Sys.Date() + 9,
separator = ";",
weekstart = 1), # This opens correct
dateRangeInput('dateRange1',
label = 'Period 1, Current Month',
start = Sys.Date(), end = Sys.Date() + 9,
separator = ";",
weekstart = …Run Code Online (Sandbox Code Playgroud) 我想用dplyr来预测几个模型.模型适用于时间序列数据,因此每小时都是自己的模型.即,小时= 1是模型,小时= 18是模型.
例:
# Historical data - Basis for the models:
df.h <- data.frame(
hour = factor(rep(1:24, each = 100)),
price = runif(2400, min = -10, max = 125),
wind = runif(2400, min = 0, max = 2500),
temp = runif(2400, min = - 10, max = 25)
)
# Forecasted data for wind and temp:
df.f <- data.frame(
hour = factor(rep(1:24, each = 10)),
wind = runif(240, min = 0, max = 2500),
temp = runif(240, min = …Run Code Online (Sandbox Code Playgroud) 我想传递我的 group_by 变量的长度来总结。
示例数据
set.seed(112)
df <- data.frame(
groupper = factor(sample.int(n = 12, size = 100, replace = TRUE)),
var = runif(100, min = 1, max = 25)
)
Run Code Online (Sandbox Code Playgroud)
现在我有不同数量的因素:
table(df[,1])
1 2 3 4 5 6 7 8 9 10 11 12
8 7 4 8 9 7 10 7 11 3 13 13
Run Code Online (Sandbox Code Playgroud)
var现在我想简单地找到每个在特定时间间隔内的份额groupper。
我的代码如下所示:
results <- df %>% group_by(groupper) %>% summarise(
var0_25 = sum(var < 25 / length(groupper)),
var25_50 = sum(var >= 25 & …Run Code Online (Sandbox Code Playgroud) 我的一天开始于2016-03-02 00:00:00.没有2016-03-02 00:00:01.
我如何POSIXct在当地时间开始一天的开始?
我的困惑可能来自于R将此视为2016-03-01的结束日期?鉴于R使用ISO 8601?
例如,如果我尝试使用Sys.Date()找到当天的开头:
as.POSIXct(Sys.Date(), tz = "CET")
"2016-03-01 01:00:00 CET"
Run Code Online (Sandbox Code Playgroud)
这是不正确的 - 但还有其他方法吗?
我知道我可以用简单的方式破解我的出路
as.POSIXct(paste(Sys.Date(), "00:00:00", sep = " "), tz = "CET")
Run Code Online (Sandbox Code Playgroud)
但是必须有一个更正确的方法来做到这一点?基础R优先.
ggplot我在打印从到 的绘图plotly并保持良好的文本位置时遇到问题。
数据示例:
library(ggplot2)
library(plotly)
library(dplyr)
library(reshape2)
#mock data
df1 <- data.frame(
Gruppering2 = factor(c("Erhverv Erhverv Salg","Erhverv Erhverv Salg","Erhverv Erhverv Salg")),
periode = factor(c("Denne maaned","Denne uge", "I gaard")),
Answer_rate = c(0.01,0.4,0.7),
SVL = c(0.40,0.43,0.67),
over_180 = c(0.5,0.7,0.3)
)
#color
plotCol <- c( rgb(44,121,91, maxColorValue = 255), rgb(139,0,0, maxColorValue = 255),rgb(0,0,139, maxColorValue = 255))
#plot code
dfpct <- melt(df1[,c(2,3,4,5)], id.vars = "periode",
measure.vars = c( "Answer_rate","SVL", "over_180"),
variable.name = "P", value.name = "value")
dfpct <- na.omit(dfpct)
pct <- …Run Code Online (Sandbox Code Playgroud) 我有两个向量.我需要找到这两者之间的交集,并做一个很好的情节.
所以,这是一个非常简单的数据框示例:
df <- data.frame( id <- c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2),
p <-c(5,7,9,11,13,15,17,19,21,23,20,18,16,14,12,10,8,6,4,2 ),
q <-c(3,5,7,13,19,31,37,53,61,67,6,18,20,24,40,46,66,70,76,78))
colnames(df) <- c("id","price","quantity")
supply <- df[df$id == 1,]
demand <- df[df$id == 2,]
plot( x = supply$quantity, y = supply$price, type = "l", ylab = "price", xlab = "quantity")
lines(x = demand$quantity , y = demand$price, type = "l")
grid()
Run Code Online (Sandbox Code Playgroud)
现在,我可以绘制它们并手动找到交点,但是你可以让R计算这两条线之间的交点吗?
数据可以进行大幅度的跳跃,线条可以从非常水平到近乎水平.
r ×12
dplyr ×4
batch-file ×2
forecasting ×2
knitr ×2
3d ×1
apply ×1
ggplot2 ×1
inequality ×1
intersection ×1
plotly ×1
posixct ×1
reshape ×1
rgl ×1
shiny ×1
timezone ×1