小编Yow*_*E3K的帖子

使用Prophet包在R中的Dataframe中按组预测

我正在使用Facebook发布的名为Prophet的新软件包.它做时间序列预测,我想通过组应用此功能.

向下滚动到R部分.

https://facebookincubator.github.io/prophet/docs/quick_start.html

这是我的尝试:

grouped_output = df %>% group_by(group) %>%
  do(m = prophet(df[,c(1,3)])) %>%
  do(future = make_future_dataframe(m, period = 7)) %>%
  do(forecast = prophet:::predict.prophet(m, future))

grouped_output[[1]]
Run Code Online (Sandbox Code Playgroud)

然后,我需要从我遇到的每个组的列表中提取结果.

以下是没有组的原始数据框:

ds <- as.Date(c('2016-11-01','2016-11-02','2016-11-03','2016-11-04',
                   '2016-11-05','2016-11-06','2016-11-07','2016-11-08',
                   '2016-11-09','2016-11-10','2016-11-11','2016-11-12',
                   '2016-11-13','2016-11-14','2016-11-15','2016-11-16',
                   '2016-11-17','2016-11-18','2016-11-19','2016-11-20',
                   '2016-11-21','2016-11-22','2016-11-23','2016-11-24',
                   '2016-11-25','2016-11-26','2016-11-27','2016-11-28',
                   '2016-11-29','2016-11-30'))
y <- c(15,17,18,19,20,54,67,23,12,34,12,78,34,12,3,45,67,89,12,111,123,112,14,566,345,123,567,56,87,90)
y<-as.numeric(y)
df <- data.frame(ds, y)

df

           ds   y
1  2016-11-01  15
2  2016-11-02  17
3  2016-11-03  18
4  2016-11-04  19
5  2016-11-05  20
6  2016-11-06  54
7  2016-11-07  67
8  2016-11-08  23
9  2016-11-09  12
10 2016-11-10  34
11 …
Run Code Online (Sandbox Code Playgroud)

r time-series forecasting dplyr

10
推荐指数
2
解决办法
2581
查看次数

EntireRow.Delete似乎删除了错误的行

我有以下代码:

Sub test()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim r As Long
    Dim rng As Range

    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")

    'Set some dummy data
    For r = 1 To 20
        ws1.Cells(r, "A").Value = r + 100
        ws2.Cells(r, "A").Value = r + 200
    Next

    'Set a reference to Sheet1!A11
    Set rng = ws1.Range("A11")

    'Copy Sheet1 row 11 to Sheet2 row 5
    rng.EntireRow.Cut ws2.Range("A5")

    'Delete Sheet1 row 11
    rng.EntireRow.Delete

End Sub
Run Code Online (Sandbox Code Playgroud)

我为"Sheet1"的第11行中的单元格分配了引用.使用该引用,我Cut将行放到"Sheet2"上的某个位置,然后我使用该引用从"Sheet1"中删除整行.

我的期望是"Sheet1"的第11行将被删除,在第1行到第10行的第A列101到110中保留值,在第11到19行中保留112到120的值. …

excel vba excel-vba

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

Bash出口不会退出

我想知道为什么即使使用显式退出命令,此脚本仍继续运行.

我有两个文件:

file1.txt 具有以下内容:

aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
gggggg

file2.txt 具有以下内容:

111111
aaaaaa
222222
333333
ffffff
444444

script(test.sh)就是这样,两个嵌套循环检查第一个文件的任何行是否包含第二个文件的任何行.如果找到匹配项,则会中止.

#!/bin/bash
path=`dirname $0`

cat $path/file1.txt | while read line
do  
    echo $line
    cat $RUTA/file2.txt | while read another
    do
        if [ ! -z "`echo $line | grep -i $another`" ]; then
            echo "!!!!!!!!!!"
            exit 0
        fi              
    done
done 
Run Code Online (Sandbox Code Playgroud)

我得到以下输出,即使在打印第一个后它应该退出!!!!!!!!!!:

aaaaaa
!!!!!!!!!!
bbbbbb
cccccc
dddddd
eeeeee
ffffff
!!!!!!!!!!
gggggg

是不是exit应该完全结束脚本的执行?

bash exit abort nested-loops

8
推荐指数
2
解决办法
1万
查看次数

如何告诉先知不要预测负值

在 R 中使用 facebooks 'Prophet' 包进行预测。想知道是否有一种方法可以使用它,这样它就不会预测负值?

谢谢!

r forecasting

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

Excel:在求和运算之前将公式应用于每个单元格

我正在尝试对一系列单元格进行求和,但我需要从每个单元格中提取一部分以用于求和,而不是像 IS 那样使用单元格中的值。在下面的示例中,我需要使用 - 符号之前的值。

   A
1  1-3
2  2-60
3  5-3
4  =SUM(A1:A3)
Run Code Online (Sandbox Code Playgroud)

SUM 应该是第一部分的相加(在 - 之前),所以 1 + 2 + 5

我找到了一种使用提取数据的方法

=LEFT(A1, SEARCH("-",A1,1)-1) = 1
=LEFT(A2, SEARCH("-",A2,1)-1) = 2
=LEFT(A3, SEARCH("-",A3,1)-1) = 5
Run Code Online (Sandbox Code Playgroud)

但是,如何在无需使用任何其他单元格的情况下对这些公式的值求和呢?

excel excel-formula

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

Excel 单元格默认度量单位

Excel 单元格大小的默认度量单位是什么?是还是像素还是毫米

默认情况下,excel单元格行高15,这个值是什么意思?是15 像素还是15 点

默认情况下,excel单元格列宽是8.43,这个值是什么意思?是8.43 像素还是8.43 点

如果行和列单位相同,则行高应小于列宽。但是测量是相反的,行高显示的数字大于列宽。在单元格外观中,行也小于列宽。

在此处输入图片说明

我需要创建高度为 90 毫米(毫米)和宽度为 195 毫米(毫米)的框。请让我知道要放在行和列文本框中的值是什么。

提前致谢。

excel vba

6
推荐指数
2
解决办法
7079
查看次数

使用超出行65536的范围时Excel 2013中的问题

我试图在Excel 2013工作簿中的命名范围上执行ADODB查询.

我的代码如下:

Option Explicit
Sub SQL_Extract()
    Dim objConnection           As ADODB.Connection
    Dim objRecordset            As ADODB.Recordset
    Set objConnection = CreateObject("ADODB.Connection")        ' dataset query object
    Set objRecordset = CreateObject("ADODB.Recordset")          ' new dataset created by the query

    objConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                     "Data Source=" & ThisWorkbook.FullName & ";" & _
                                     "Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
    objConnection.Open

    objRecordset.Open "SELECT * FROM [HighRange]", objConnection, adOpenStatic, adLockOptimistic, adCmdText

    If Not objRecordset.EOF Then
        ActiveSheet.Cells(1, 1).CopyFromRecordset objRecordset
    End If

    objRecordset.Close
    objConnection.Close
End Sub
Run Code Online (Sandbox Code Playgroud)

如果范围HighRange超出行65536(例如A65527:B65537),则会收到错误消息 在此输入图像描述

如果我删除足够的行以删除行65536下面的范围,代码将起作用.

如果我强制将工作簿设置为只读(并确保没有其他人打开非只读版本),代码也可以工作.

这是我做错了什么,或者这是Excel 2013中的错误? …

excel vba adodb excel-vba

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

VBA无模式窗体停止功能键

我想在我的Excel程序中拥有自己的帮助文件.

在里面

Private Sub Workbook_Open()
Run Code Online (Sandbox Code Playgroud)

我有

Application.OnKey "{F1}", "Help"
Run Code Online (Sandbox Code Playgroud)

当我在Excel工作表上但我的应用程序基于全屏主用户窗体时显示无模式.

当用户窗体可见时,它会F1以某种方式阻止密钥,并且宏不会触发.

我认为无模式表单不会阻止代码执行.

任何提示我如何才能使这项工作?

excel vba excel-vba modeless

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

如何锁定包含公式但仍允许宏工作的单元格?

我有一个工作表,我让我的员工填写,我已经计算了我想锁定的单元格,所以他们无法更改它们.我已选择单元格和选定的属性,并确保选中"锁定"复选框.当我保护工作表/工作簿时,"导出到csv"宏按钮停止工作.为了使宏能够完成,我将这个VB代码插入到工作簿中:

Private Sub Workbook_Open()

Dim wSheet As Worksheet
For Each wSheet In Worksheets

    wSheet.Protect Password:="password", _
    UserInterFaceOnly:=True

Next wSheet


End Sub
Run Code Online (Sandbox Code Playgroud)

这有效但却产生了意想不到的副作用,即使锁定的公式被锁定,我也可以对其进行编辑.只有包含非公式值的单元格才会被锁定.什么是允许宏但仍锁定公式单元格的正确方法?

excel vba excel-vba

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

如何将宏代码保存为vbs?

我不知道为什么我不能从 R 调用我的宏代码,这是我试图保存为 vbs 文件的代码:(我应该将其保存在记事本应用程序中吗?)

 Sub vb()
       Dim xlApp
       Dim xlBook
       Set xlApp = CreateObject("Excel.Application")
       Set xlBook = xlApp.Workbooks.Open("path.xlsm", 0, False)
       xlApp.Visible = True
       xlApp.Run "Countries"
       xlApp.Quit
       Set xlBook = Nothing
       Set xlApp = Nothing
 End Sub
Run Code Online (Sandbox Code Playgroud)

如何将上面的代码保存为vbs?

excel vba

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