小编Tho*_*rst的帖子

用dplyr拟合几个回归模型

我想使用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)

r dplyr

62
推荐指数
8
解决办法
3万
查看次数

使用dplyr和do进行多步骤预测

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,我的外生变量是Windtemp,我想要预测的是Price.所以,基本上,我有24个模型,我希望能够进行滚动预测.

现在,我的数据框包含180天.我想回到100天,做一天滚动预测,然后能够将其与实际进行比较Price.

这种暴力行为看起来像这样:

# First I fit …
Run Code Online (Sandbox Code Playgroud)

r apply forecasting dplyr

10
推荐指数
1
解决办法
1152
查看次数

绘制一些不等式作为平面

我想绘制一些飞机,每个都是不平等.在我绘制了所有平面之后,我想将它们组合在一起,并为这些线条内的区域着色.图像绘制了很多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)

3d inequality r rgl

10
推荐指数
1
解决办法
378
查看次数

合并具有相等和不相等数据的行

我正在努力合并一些凌乱的数据.

我有一个像这样的数据框:

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)

r reshape

6
推荐指数
1
解决办法
143
查看次数

任务计划管理器中的Knitr错误

我正在尝试设置一个运行批处理文件的任务,该文件运行的.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)

我不知道该怎么办.

r batch-file knitr

5
推荐指数
1
解决办法
1450
查看次数

R从批处理文件中运行knitr(windows)

我每天都在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,所以我甚至不确定它是否可以完成.

r batch-file knitr

4
推荐指数
1
解决办法
2439
查看次数

Shiny Date Picker 在菜单栏下方打开

我制作了一个应用程序,您需要在其中选择一个日期。当您使用日期选择器时,它会显示在菜单栏后面,并隐藏重要信息。

正确方式

您可以看到日期选择器的顶行,可以查看您所在的月份并在月份之间快速浏览。

现在,如果日期放低一点,菜单栏将隐藏日期选择器的顶部并显示如下:

这里没有日期选择器

我怎样才能避免这种情况?我添加了使用下面的第二个日期选择器复制错误的代码

# 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)

r shiny

4
推荐指数
1
解决办法
2318
查看次数

预测几个时间序列模型,dplyr

我想用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)

r forecasting dplyr

3
推荐指数
1
解决办法
886
查看次数

dplyr - 获取要汇总的 group_by 数量

我想传递我的 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)

r dplyr

3
推荐指数
1
解决办法
4777
查看次数

如何在POSIXct中获得一天的开始

我的一天开始于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优先.

timezone r posixct

3
推荐指数
1
解决办法
852
查看次数

使用 ggplot 和plotly 调整文本位置

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)

r ggplot2 plotly

3
推荐指数
1
解决办法
2995
查看次数

R:找到两个向量的交集

我有两个向量.我需要找到这两者之间的交集,并做一个很好的情节.

所以,这是一个非常简单的数据框示例:

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计算这两条线之间的交点吗?

数据可以进行大幅度的跳跃,线条可以从非常水平到近乎水平.

intersection r line-intersection

1
推荐指数
1
解决办法
4070
查看次数