小编Apr*_*cot的帖子

使闪亮应用程序运行得更快的最佳实践是什么?

数据:

我有一个闪亮的仪表板应用程序,我的数据集大小约为600 MB.它每月膨胀100 MB.我的数据驻留在MySQL本地.

的MenuItems:

我的仪表板上有6到7个侧边栏menuItem,每个都有10-12个不同的输出 - 图表和表格.这些选项卡中的每一个都有3到6个输入,例如selectizeInput,滑块,日期范围等,以过滤数据.

数据子集:

由于我无法将所有数据加载到内存中,因此对于每个菜单项,我都会根据日期范围创建数据子集,方法是将日期范围保持为系统日期后的2-3天.

例如:

df1 <- reactive({df[df$date >- dateinput[1] & df$date <- dateinput[2], ]})

以上获取我的第一个菜单项的数据,并根据selectInput或其他输入,我进一步过滤数据.例如,如果我有一个selectInput Gender (male and female)然后我进一步子集df1到:

df2 <- reactive({
       if(is.null(input$Gender)){ 
          df1 
       } else if(input$Gender == "Male") 
          {df1[df1$Gender == "Male",]} 
       )}
Run Code Online (Sandbox Code Playgroud)

如果我有超过1个输入,我进一步将这个df1子集化并将值传递给df2.df2成为该MenuItem中所有图表和表的反应数据集.

menuItem的数量越多,我就会创建更多的子集以适应过滤器和分析.

我面临两个问题:

  1. 在较旧的计算机上,应用程序未加载.和
  2. 在较新的机器上,应用程序加载速度非常慢,有时为5-6分钟

在第一组数据加载后,图表和表在响应性更改时呈现得更快.

为了解决这个问题,我尝试将所有常见和重复的参数和库移动到global.R.

我有两个问题:

1.在R中挖掘数据时需要记住的任何基本卫生因素,特别是通过闪亮(R中的采矿速度非常快).

2.我已经阅读了关于并行处理的内容,但几乎所有的例子都谈到分配一个较重的计算.我们可以通过并行处理,分组数据或分发图表/表格准备来分发.

请注意,我是研究员而不是程序员,但他们已经学会在云上或最近在本地使用闪亮和主机应用程序.

对于像我这样的R的许多新手用户,这方面的指导将非常有用.

r shiny

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

直接在默认浏览器中打开Shiny App

通常,闪亮的应用程序通过R-Studio内置的浏览器打开.是否可以直接在网络浏览器中打开应用程序,例如谷歌浏览器,而无需通过R-Studio.

r rstudio shiny

20
推荐指数
4
解决办法
2万
查看次数

使用R中数据框中的多个列创建列联表

我有一个数据框,看起来像这样:

structure(list(ab = c(0, 1, 1, 1, 1, 0, 0, 0, 1, 1), bc = c(1, 
1, 1, 1, 0, 0, 0, 1, 0, 1), de = c(0, 0, 1, 1, 1, 0, 1, 1, 0, 
1), cl = c(1, 2, 3, 1, 2, 3, 1, 2, 3, 2)), .Names = c("ab", "bc", 
"de", "cl"), row.names = c(NA, -10L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

列cl表示簇关联,变量ab,bc&de携带二进制答案,其中1表示是和0 - 否.

我正在尝试创建一个表交叉标签集群以及数据框中的所有其他列,即ab,bc和de,其中集群成为列变量.所需的输出是这样的

    1  2  3
 ab 1  3  2
 bc 2  3  1
 de 2  3 …
Run Code Online (Sandbox Code Playgroud)

r contingency

6
推荐指数
3
解决办法
4958
查看次数

使用R下载Gmail邮件内容

我试图从我的Gmail帐户下载gmails.最重要的是,我有兴趣下载邮件的实际内容以及其他参数的收据时间,主题,地址和地址.我尝试过使用gmailr和edeR软件包.虽然gmailr有助于发送邮件(我已经成功尝试过,但edeR只帮助下载顶线数据而不是邮件正文.我正在寻找这些数据来测试分类模型.有没有办法在R ...我不熟悉任何其他语言.

email message r

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

mailR:从闪亮的邮件发送邮件到多个地址

我想从我的Shiny应用程序发送邮件.我已经为邮件的地址,主题和正文创建了文本输入框.当我在textInput框中输入的是单个电子邮件ID时,应用程序会发送邮件.当我添加第二个电子邮件ID时,它会失败.但是,当我尝试从RStudio而不是闪亮的应用程序运行它时,相同的代码,我能够发送电子邮件.如何让我的textInput正确解析电子邮件ID,以便mailR向他们发送邮件?

我目前的代码:

library(shiny)
library(mailR)

ui =fluidPage(
        fluidRow(
        div(id = "login",
             wellPanel(title = "Mail your report", 
                textInput("to", label = "To:", placeholder = "To:"),
                textInput("sub","Subject:"),
                textInput("msg","Message:"),
                actionButton("mailButton",label = "Send mail") 
                 )
            ))
)
server = function(input, output, session) {
 observeEvent(input$mailButton,{
                isolate({
                  send.mail(from = "myemail@gmail.com",
                  to = input$to,
                  subject = input$sub,
                  body = input$msg,
                  smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "myemail@gmail.com", passwd = "mypasword", ssl = TRUE),
                  authenticate = TRUE,
                  html = TRUE,
                  send = TRUE)
                })
            })

        } …
Run Code Online (Sandbox Code Playgroud)

email r shiny

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

使用 Python 将邮箱转为 csv

我已从我的 Gmail 帐户下载了邮件存档。我正在使用以下来自博客的 python(2.7) 代码将存档的内容转换为 csv。

import mailbox
import csv
writer = csv.writer(open(("clean_mail.csv", "wb"))
for message in mailbox.mbox('archive.mbox'):
    writer.writerow([message['subject'], message['from'], message['date']])
Run Code Online (Sandbox Code Playgroud)

我也想包含邮件正文(实际消息)...但不知道如何。我之前没有使用过python,有人可以帮忙吗?我已经使用了其他给出的选项,但无法通过。

为了完成相同的任务,我也使用了以下代码:但是第 60 行出现缩进错误:return json_msg。我尝试了不同的缩进选项,但没有任何改进。

import sys
import mailbox
import email
import quopri
import json
import time
from BeautifulSoup import BeautifulSoup
from dateutil.parser import parse

MBOX = 'Users/mymachine/client1/Takeout/Mail/archive.mbox'
OUT_FILE = 'Users/mymachine/client1/Takeout/Mail/archive.mbox.json'

def cleanContent(msg):
    msg = quopri.decodestring(msg)
    try:
        soup = BeautifulSoup(msg)
    except:
        return ''
    return ''.join(soup.findAll(text=True))
# There's a lot of data to process, and the Pythonic way to do …
Run Code Online (Sandbox Code Playgroud)

csv gmail parsing python-2.7

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

ggplot注释在图表中的固定位置

我正在将以下数据绘制到ggplot条形图中.

structure(list(MEDIATYPE = c("BACKLIT TOWER", "BILLBOARDS", "BRIDGE PANEL", 
"BUILDING FACADES", "BUS SHELTER", "CANTILIVERS", "CYCLE SHELTER", 
"FOB", "FREE STANDING PANEL", "GANTRIES"), RENTAL = c(197, 278363, 
1423, 26, 35960, 6194, 70, 4845, 27, 9420)), .Names = c("MEDIATYPE", 
"RENTAL"), row.names = c(NA, 10L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

我使用以下代码来呈现图表.它工作正常.但问题是yaxis值不断变化,图表顶部的注释有时会消失,或者在其他情况下会出现在图表的中间.

library(ggplot2)
library(stringr) # str_wrap


ggplot(b, aes(x=reorder(MEDIATYPE,-RENTAL), y=RENTAL, fill=MEDIATYPE)) + geom_bar(stat = "identity", width = 0.8) +
    theme(legend.position = "none") + xlab("MEDIATYPE") + ylab("SPENDS") +
    scale_x_discrete(labels = function(x) str_wrap(x, width = 1)) + 
    theme(axis.text.x = element_text(angle = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
2
解决办法
1972
查看次数

如何检查 tensorflow 是否正在使用所有可用的 GPU

我正在学习使用 Tensorflow 进行对象检测。为了加快训练过程,我采用了一个具有 4 个 GPU 的 AWS g3.16xlarge 实例。我正在使用以下代码运行训练过程:

export CUDA_VISIBLE_DEVICES=0,1,2,3
 python object_detection/train.py --logtostderr --pipeline_config_path=/home/ubuntu/builder/rcnn.config --train_dir=/home/ubuntu/builder/experiments/training/
Run Code Online (Sandbox Code Playgroud)

在 rcnn.config 里面 - 我已经设置了batch-size = 1. 在运行时,我得到以下输出:

控制台输出

2018-11-09 07:25:50.104310: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Device peer to peer matrix
2018-11-09 07:25:50.104385: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1051] DMA: 0 1 2 3 
2018-11-09 07:25:50.104395: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 0:   Y N N N 
2018-11-09 07:25:50.104402: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 1:   N Y N N 
2018-11-09 07:25:50.104409: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 2:   N N Y N 
2018-11-09 07:25:50.104416: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1061] 3:   N N …
Run Code Online (Sandbox Code Playgroud)

python gpu tensorflow

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

返回单元格值与模式匹配的 R 数据框的行和列位置

我有一个数据框

structure(list(Brand = c("AB", "AC", "AD", "BA", "CB", "CK"), `&TV` = c("0_640", 
"0", "1_340", "0", "0", "0"), `&TV HD` = c("1_500", "0", "0_140", 
"0", "0", "0")), row.names = c(NA, 6L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

  Brand   &TV &TV HD
1    AB 0_640  1_500
2    AC     0      0
3    AD 1_340  0_140
4    BA     0      0
5    CB     0      0
6    CK     0      0
Run Code Online (Sandbox Code Playgroud)

我想返回其中包含模式的单元格的行和列值1_。对于上面的例子,我想返回

row col
3    2
1    3
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 grep 但不是很成功。

grep(New_Brands_Theme_Combine[,c(1:length(New_Brands_Theme_Combine))], pattern = "1_")
Run Code Online (Sandbox Code Playgroud)

上面给出了找到模式的数据框的列号。如何获取列号和行号。

r

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

熊猫-从两个数据框中匹配两列并在df1中创建新列

我有两个数据框

df1

Srlno id  image
1      3    image1.jpg
2      3    image2.jpg
3      3    image2.jpg
Run Code Online (Sandbox Code Playgroud)

df2

Srlno  id   image
1       1   image1.jpg
2       2   image2.jpg
3       3   image3.jpg
Run Code Online (Sandbox Code Playgroud)

我想匹配基于“图像”列的两个数据帧,并将ID从df2返回到df1作为新列。df2中的图像名称是唯一的,而df1中的图像名称有很多重复项。我想保留重复的图像名称,但为df2中的每个图像填写正确的ID。

预期的输出是:

Srlno id  image          newids
1      3    image1.jpg     1
2      3    image2.jpg     2
3      3    image2.jpg     2
Run Code Online (Sandbox Code Playgroud)

我尝试过

df1['newids'] = df1['image'].map(df2.set_index('image')['id'])
Run Code Online (Sandbox Code Playgroud)

这将返回错误InvalidInvexError(“仅对唯一值索引对象有效的索引”)我知道df1中的重复项正在创建此错误...但不知道如何解决。

python dataframe pandas

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

标签 统计

r ×7

shiny ×3

email ×2

python ×2

contingency ×1

csv ×1

dataframe ×1

ggplot2 ×1

gmail ×1

gpu ×1

message ×1

pandas ×1

parsing ×1

python-2.7 ×1

rstudio ×1

tensorflow ×1