小编Dea*_*gor的帖子

SQL如何将具有日期范围的行转换为每个日期的多行

如果我有一个看起来像这样的表

begin date      end date        data
 2013-01-01     2013-01-04       7
 2013-01-05     2013-01-06       9
Run Code Online (Sandbox Code Playgroud)

如何让它像这样返回......

    date         data
 2013-01-01       7
 2013-01-02       7
 2013-01-03       7
 2013-01-04       7
 2013-01-05       9
 2013-01-06       9
Run Code Online (Sandbox Code Playgroud)

我想做的一件事就是让另一个表只包含所有日期,然后使用date>=begin date和仅仅使用日期加入表中的表,date<=end date但是这似乎有点笨拙,只需重复日期就可以保留额外的表.

在某些情况下,我没有数据范围,只是一个as of日期基本上看起来像我的第一个例子,但没有end date.该end date由下一行的"作为"日暗示(即结束日期应该是下一行的as of-1).我有一个"解决方案",它使用row_number()函数来获取下一个值但我怀疑这种方法,我正在做的方式有一堆嵌套的自联接,这导致非常长的查询时间.

sql sql-server-2008-r2

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

RS.udio中的Download.file失败

file<-tempfile(fileext=".csv")
download.file(url="ftp://pubftp.spp.org/Markets/DA/LMP_By_SETTLEMENT_LOC/2014/03/28/DA-LMP-SL-201403280100.csv",destfile=file,mode="wb")
Run Code Online (Sandbox Code Playgroud)

这适用于R本身(我不知道该怎么称呼它).然而在RStudio它挂了几分钟,然后我得到以下

trying URL 'ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2014/03/25/11/RTBM-LMP-SL-201403251015.csv'
using Synchronous WinInet calls
Error in download.file(url = "ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2014/03/25/11/RTBM-LMP-SL-201403251015.csv",  : 
  cannot open URL 'ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2014/03/25/11/RTBM-LMP-SL-201403251015.csv'
In addition: Warning message:
In download.file(url = "ftp://pubftp.spp.org/Markets/RTBM/LMP_By_SETTLEMENT_LOC/2014/03/25/11/RTBM-LMP-SL-201403251015.csv",  :
  InternetOpenUrl failed: ''
Run Code Online (Sandbox Code Playgroud)

这是一个小文件,所以它不应该超时,但我真的不知道问题是什么.

r rstudio

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

一旦使用doParallel clusterEvalQ启动RPostgreSQL连接就会过期

我正在尝试设置并行任务,每个工作人员都需要进行数据库查询.我正在尝试使用这个问题中的连接设置每个工作者,但每次我尝试它都会返回<Expired PostgreSQLConnection:(2781,0)>我注册的许多工作人员.

这是我的代码:

cl <- makeCluster(detectCores())
registerDoParallel(cl)

clusterEvalQ(cl, {
  library(RPostgreSQL)
  drv<-dbDriver("PostgreSQL")
  con<-dbConnect(drv, user="user", password="password", dbname="ISO",host="localhost")

})
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行我foreach尽管错误,它失败了task 1 failed - "expired PostgreSQLConnection"

当我进入postgres服务器状态时,它会显示已创建的所有活动会话.

我从主R实例中与postgres交互没有任何问题.

如果我跑

clusterEvalQ(cl, {
  library(RPostgreSQL)
  drv<-dbDriver("PostgreSQL")
  con<-dbConnect(drv, user="user", password="password", dbname="ISO",host="localhost")
  dbGetQuery(con, "select inet_client_port()")

})
Run Code Online (Sandbox Code Playgroud)

然后它将返回所有客户端端口.它没有给我过期通知但是如果我尝试运行我的foreach命令它将失败并出现相同的错误.

编辑:

我在Ubuntu和2台Windows电脑上试过这个,它们都给出了同样的错误.

另一个编辑:

现在3台Windows电脑

foreach r rpostgresql doparallel

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

将不同大小的矩形拟合成圆形的优雅算法是什么?

我有一堆可变大小的矩形,我需要将它们大致组合成一个圆圈,大概是中心的最大的矩形.

NB.圆圈的大小不是固定的 - 这只是我追求的整体形状.

这更像是我想象一个懒惰的人类包(一旦一件就到位,它就会停留.)

它们已按其宽度和高度的最大值排序,最大值.

理想情况下 - 我认为这可以通过订购得到保证 - 根本没有差距.

我正在努力的算法是:

for each rectangle:
    if first:
        place rectangle at origin
        add all edges to edge list
    else:
        for each edge in edge list:
            if edge is long enough to accomodate rectangle (length <= width or height depending on orientation):
                if rectangle placed on this edge does not collide with any other edges:
                    calculate edge score (distance of mid-point from origin)
        use edge with lowest edge score
        place rectangle on …
Run Code Online (Sandbox Code Playgroud)

python algorithm packing

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

Shiny可以判断登录nginx反向代理的用途

我已经成功地为我的闪亮服务器实现了一个 nginx 反向代理,以便进行 SSL 和用户身份验证。但是,仍然有一个我无法弄清楚的差距。我闪亮的应用程序有没有办法确定哪个用户实际登录了?

这是我的 /etc/nginx/sites-available/default

server {
listen 80;
return 301 https://$host$request_uri;
}

server {

listen 443;
server_name myserver.com;

ssl_certificate           /etc/nginx/cert.crt;
ssl_certificate_key       /etc/nginx/cert.key;

ssl on;
ssl_session_cache  builtin:1000  shared:SSL:10m;
ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

access_log            /var/log/nginx/shiny.log;

location / {

  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;

  # Fix the “It appears that your reverse proxy set up is broken" error.
  proxy_pass          http://localhost:3838;
  proxy_read_timeout  90;

  proxy_redirect      http://localhost:3838 https://myserver.com;
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd; …
Run Code Online (Sandbox Code Playgroud)

r nginx shiny shiny-server

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

Zeep 无法识别所有操作

当我做python -mzeep https://testingapi.ercot.com/2007-08/Nodal/eEDS/EWS/?WSDL

操作是空白的。当我在浏览器中拉出它时,我可以在<operation>标签下找到很多东西。我缺少什么?

我不确定这是否相关,但如果是的话,我不想排除此信息。该网站有一个包含 XSD 和 WSDL 文件的 zip 文件,我不知道如何处理它们

python soap wsse zeep

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

使用 vsc 生成开发容器并复制requirements.txt

我的目录结构是这样的:

app-dash\
  .devcontainer\
     devcontainer.json
     Dockerfile
  app.py
  requirements.txt
  etc.files
Run Code Online (Sandbox Code Playgroud)

我想在我的 Dockerfile 中包含这些行

COPY requirements.txt /tmp/pip-tmp/
RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
  && rm -rf /tmp/pip-tmp
Run Code Online (Sandbox Code Playgroud)

使用这一行也不起作用(具有相同的错误)...

COPY ../requirements.txt /tmp/pip-tmp/
Run Code Online (Sandbox Code Playgroud)

我也有,但在构建过程中它出错了,因为它找不到requirements.txt。如果我将requirements.txt复制到.devcontainer目录,它就会工作。当然,我不想这样做,因为如果我更新了一个需求而忘记了另一个需求,那么以后就会出现问题。我不想只将requirements.txt放在.devcontainer中,因为我想将其托管在azure函数中,该函数期望requirements.txt位于根文件夹中。我也不想从命令行运行构建。

我该如何设置它,以便当我Open Folder in Container从 vsc 单击时它就会执行此操作?

docker visual-studio-code vscode-remote

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

如何使用data.table获取na.omit,只省略每列中的NA

让我说我有

az<-data.table(a=1:6,b=6:1,c=4)
az[b==4,c:=NA]
az
   a b  c
1: 1 6  4
2: 2 5  4
3: 3 4 NA
4: 4 3  4
5: 5 2  4
6: 6 1  4
Run Code Online (Sandbox Code Playgroud)

我可以得到所有列的总和

az[,lapply(.SD,sum)]
    a  b  c
1: 21 21 NA
Run Code Online (Sandbox Code Playgroud)

这是我想要的a,b但是cNA.这似乎很容易通过这样做来解决

az[,lapply(na.omit(.SD),sum)]
    a  b  c
1: 18 17 20
Run Code Online (Sandbox Code Playgroud)

这就是我想要的c,但我不想忽略的价值观ab哪里cNA.这是一个人为的例子,在我的真实数据中,可能有1000多个列,其中包含随机的NA.有没有办法获得na.omit或其他什么来处理每列而不是整个表,而不依赖于作为向量循环每列?

r data.table

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

RPostgreSQL - 将数据帧导入表中

我想将一个完整的数据框导出到一个已经在数据库(postgresql)中创建并包含类似数据的表中.

我发现几个问题解释有关dbwrite表(.... overwrite = TRUE),我不想覆盖我表中已经存在的数据.我只想用r console中的数据框更新我的表.

谁能让我知道我怎么能这样做..

这样的事情

dbInsertTable(con, df, tablename = "MyTable")
Run Code Online (Sandbox Code Playgroud)

r rpostgresql

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

如何使用 R 保存带有记事本可以识别的换行符的 CSV 文件?

很抱歉因为编码问题打扰您。花了几个小时没有得到解决方案,我决定将其发布在这里。我试图使用Ubuntu 14.04 中的,​​ 编写一个简单的表write.table,但没有成功。由于 cronjob,我的数据有点混乱:write.csvwrite.csv2

ID <- c("",30,26,20,30,40,5,10,4)
b <- c("",2233,12,2,22,13,23,23,100)
c <- c("","","","","","","","","")
d <- c("","","","","","","","","")
e <- c("","","","","","800","","","")
f <- c("","","","","","","","","")
g <- c("","","","","","","","EA","")
h <- c("","","","","","","","","")
df <- data.frame(ID,b,c,d,e,f,g,h)

  # change columns to chr
for(i in c(1,2:ncol(df))) {
 df[,i] <- as.character(df[,i])
}

str(df)

# data.frame':  9 obs. of  8 variables:
#  $ ID: chr  "" "30" "26" "20" ...
#  $ b : chr  "" "2233" "12" "2" ...
#  $ c : …
Run Code Online (Sandbox Code Playgroud)

r

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