小编wib*_*ley的帖子

如何将闪亮的应用程序中的反应性输入值插入MySQL数据库?

我用R 的闪亮包创建了一个在线实验.假设我有3个被称为"折腾","决定" 和" 评级"的反应值. 此外,我在亚马逊网络服务RDS上推出了一个MySQL数据库.版本是MySQL 5.6.22. 我成功地设法将非反应值(如时间戳)发送到MySQL数据库.所以我假设问题是在Server.R代码中找到与MySQL对话的代码.对于非反应值,当代码在响应服务器功能之外(之前)时,它可以很好地工作.但是对于反应值,我认为它应该在某个地方. 我试过这段代码:



Server.R  
   library(shiny)
   library(RMySQL)
   library(DBI)
    con <- dbConnect(MySQL(), dbname="db", username="myname", password="mypassword", host="myhost.com", port=xxxx)
   function(input, output, session){
       sql <- reactive({
                paste("insert into scenario1 (toss, dec, rat, timestamp) 
                     values (",input$toss,",",input$decision,",",input$rating,"now())")
       })
       result<-reactive({dbSendQuery(con, sql())})
   }
Run Code Online (Sandbox Code Playgroud)

这样,我没有收到错误消息.所以错误可能在insert into-code中.

另外,我不确定我使用的包装是否适用于此目的.我尝试了很多东西.每当我通过将其保留在SQL-quote之外来添加一个无效值时它就会停止工作.我开始认为RMySQL缺少这个功能.insert into手册中没有任何内容.

有人能够发现我犯的错误吗?

mysql r rmysql shiny r-dbi

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

文本比较中adist函数的问题

我的adist函数有问题。基本上,我使用的是RDocumentation的示例。

attr(adist(c("kitten", "sitting"), counts = TRUE), "trafos") here
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行时,又增加了一个字

attr(adist(c("kitten", "sitting", "hi"), counts = TRUE), "trafos") 
Run Code Online (Sandbox Code Playgroud)

我正在取得这些结果:

     [,1]      [,2]      [,3]     
[1,] "MMMMMM"  "SMMMSMI" "SMDDDDI"

[2,] "SMMMSMD" "MMMMMMM" "SDDDMDD"

[3,] "SMIIIID" "SIIIMII" "MMI" 
Run Code Online (Sandbox Code Playgroud)

在第三列的第三行中,我正在使用MMI,但我无法理解为什么是同一单词“ hi”。因此必须是MM。(匹配,匹配且无插入)

参考:https : //www.rdocumentation.org/packages/utils/versions/3.6.0/topics/adist

我正在使用另一个示例:

test <- c('x','hi', 'y','x')

attr(adist(test, y=NULL , counts = TRUE), "trafos")
Run Code Online (Sandbox Code Playgroud)

我正在取得这些结果。但是至少对角线需要为M,因为同一个单词。

     [,1] [,2] [,3] [,4]
[1,] "M"  "SI" "SI" "MI"

[2,] "SD" "MM" "SD" "SD"

[3,] "SD" "SI" "MI" "SI"

[4,] "MI" "SI" "SI" "MI"
Run Code Online (Sandbox Code Playgroud)

我不明白这是怎么回事。

comparison text r text-mining levenshtein-distance

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

图未显示在 flexdashboard 选项卡中

当我渲染 flexdashboard 时,绘图图表仅显示在第一个选项卡上,而不显示在其余选项卡上。下面的可重现示例使用 flexdashboard 示例用于 .tabset 使用。我正在运行 R 3.6.1

我过去使用过 plotly 和 tabset,我不确定为什么它现在不起作用。

---
title: "Tabset Column"
output: flexdashboard::flex_dashboard
---

Column 
-------------------------------------

### Chart 1

```{r}
library(ggplot2)
library(plotly)
library(dplyr)

da <-data.frame(ns=rep(0:1,6), month=factor(1:12), a=letters[1:12])

p <- ggplot(da) +
geom_bar(aes(x=month,y=ns,fill=ns),stat = "identity") +
facet_wrap(~a )+
theme_bw(12) + ylab("CYER") +
scale_fill_viridis_c(option="D",direction = -1) 


p2 <- ggplot(da) +
geom_bar(aes(x=month,y=ns,fill=ns),stat = "identity") +
facet_wrap(~a )+
theme_bw(12) + ylab("CYER") +
scale_fill_viridis_c(option="C",direction = -1) 
```

Column {.tabset}
-------------------------------------

### Chart 2

```{r}
ggplotly(p2)%>%layout(
 margin = list(b = …
Run Code Online (Sandbox Code Playgroud)

r r-markdown flexdashboard r-plotly

6
推荐指数
0
解决办法
1668
查看次数

如果 Dash 应用程序因导入的大数据而变慢,如何使 Dash 应用程序运行得更快

我正在使用 dash 应用程序调用包含 351 列的大约 250,000 个值的大型数据集,以便我可以显示它。然而,它需要很长时间才能运行,我认为这是因为我从一个不同的应用程序调用数据,我用来收集名为 REDCap 的数据。现在我想知道是否有更好的方法让我的应用程序运行得更快,即使数据来自不同的应用程序。请参阅下面的代码:

import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
from redcap import Project
import pandas as pd

#redcap api and key
api_url = "enter link"
api_key = "enter key"
project = Project(api_url, api_key)

#call data from redcap
def data():
    df = project.export_records(format="df", df_kwargs={"index_col": project.field_names[1]})
    return df

df = data()


#generate table
def generate_table(dataframe, max_rows=10):
    return html.Table(
        # Header
        [html.Tr([html.Th(col) for col in dataframe.columns])] +

        # Body …
Run Code Online (Sandbox Code Playgroud)

python pandas plotly-dash

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

有没有办法在 SharePoint 中发布 R flexdashboard html 页面?删除关闭

我创建了一个的输出rmarkdown::render(“file.rmd”, “output.html”)

输出是一个多页 html 输出,带有几个图。因此没有任何闪亮的静态 HTML 文件。当我用 chrome 或 edge 打开这个文件时,这个文件完全按预期显示。

我想将此 html 文件集成到。但是,当我在 sharepoint 中打开此文件时,我只能看到文件的标题,但文件的所有其他部分都没有正确显示。我已经在多台计算机和浏览器上对此进行了测试。只有 Edge(不是每台电脑)都能正确显示。

有没有人可以建议如何在 SharePoint Online 中正确集成 HTML 文件?

html browser sharepoint r flexdashboard

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

通过管道将结果传递给多个参数(使用 R 4.1+)

使用magrittr 管道( %>%),我偶尔会将结果通过管道传递给多个参数,例如

ds <- 
  datasets::airquality |> 
  head() 

ds %>%
  # ds |> 
  knitr::kable(
    x           = .,
    col.names   = tolower(colnames(.)),
    format      = "markdown"
  )
Run Code Online (Sandbox Code Playgroud)

结果

| ozone| solar.r| wind| temp| month| day|
|-----:|-------:|----:|----:|-----:|---:|
|    41|     190|  7.4|   67|     5|   1|
|    36|     118|  8.0|   72|     5|   2|
|    12|     149| 12.6|   74|     5|   3|
|    18|     313| 11.5|   62|     5|   4|
|    NA|      NA| 14.3|   56|     5|   5|
|    28|      NA| 14.9|   66|     5|   6|
Run Code Online (Sandbox Code Playgroud)

但 …

r pipe

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

使用Packrat和AppVeyor构建R包

有人能指出一个工作示例,其中packratAppVeyor一起使用来构建R包吗?通过Google和GitHub搜索,我找不到任何使用AppVeyor的packrat-enable软件包.

appveyor.yml文件是否需要更改?我需要通过AppVeyor网站添加一些设置吗?

我有一个非常小的包(testthat是唯一的依赖)破坏了AppVeyor构建.这是为该提交冻结代码.这是AppVeyor日志.

(如果这个SO问题听起来很熟悉,我将问Travis-CI的类似问题.)

r appveyor packrat r-package

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

使用 odbc/DBI 从 R 中的存储过程结果检索输出

我正在尝试调用存储过程并检索输出。我正在使用符合DBI的odbc包调用 SQL Server。我该如何使用这个包?以下代码返回受影响的行数。

sql     <- "EXEC schema.prc_person @name_first='bob'"
channel <- DBI::dbConnect(odbc::odbc(), dsn="db-remote")
guy     <- DBI::dbExecute( channel, sql)
DBI::dbDisconnect(channel); rm(channel)
Run Code Online (Sandbox Code Playgroud)

存储过程基本上是一个SELECT查询,但封装了一些计算,这就是为什么这不是一个直接的查询。

SELECT value 
FROM schema.tbl_person
WHERE name_first=@name_first --plus some other stuff in the WHERE clause
Run Code Online (Sandbox Code Playgroud)

作为参考,这两个语句满足我的需要(使用RODBCRODBCext包)。另外,在odbc包中,我尝试过dbCallProc()dbSendQuery()dbSendStatement()

channel <- RODBC::odbcConnect(dsn="db-remote")
guy     <- RODBCext::sqlExecute(channel, "EXEC schema.tbl_person @name_first='bob'", fetch=T) # Notice the 'fetch' parameter
RODBC::odbcClose(channel); rm(channel)

channel <- RODBC::odbcConnect(dsn="db-remote")
guy     <- RODBC::sqlQuery(channel, "EXEC schema.tbl_person @name_first='bob'")
RODBC::odbcClose(channel); rm(channel)
Run Code Online (Sandbox Code Playgroud)

sql-server odbc stored-procedures r r-dbi

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

使用dplyr :: group_by()查找具有NA的最小日期

我找到了一个组内的最小日期.很多时候,该组仅包括缺少日期(在这种情况下,我更喜欢NA分配的东西).

NA小号似乎正确分配,但他们没有回应is.na(),因为我期望的那样. 当单元格显示为时NA,is.na()输出意外为FALSE.

library(magrittr)
ds_visit <- tibble::tribble(
  ~subject_id,                   ~date,
           1L,  as.Date("2017-01-01" ),
           1L,  as.Date("2017-02-01" ), 

           2L,  as.Date(NA_character_),        
           2L,  as.Date("2017-01-02" ),

           3L,  as.Date(NA_character_),        
           3L,  as.Date(NA_character_),   

           4L,  as.Date(NA_character_),        
           4L,  as.Date(NA_character_)       
)

ds_subject <- ds_visit %>% 
  # as.data.frame() %>% 
  dplyr::group_by(subject_id) %>% 
  dplyr::mutate(
    date_na     = is.na(date),          # Works as expected
    date_min    = min(date, na.rm=T),   # Works as expected

    date_min_na = is.na(date_min)       # Does NOT work as expected.
  ) %>% 
  dplyr::ungroup() # %>% as.data.frame() 
Run Code Online (Sandbox Code Playgroud)

ds_visit …

r date na dplyr

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

动态生成lang文件

我有一种情况,我必须将我的数组与语言文件同步,所以每次我都必须生成和翻译它。我正在寻找像laravel-langman这样的包,它可以选择同步。但是现在我正在寻找,它不允许我在不要求输入的情况下直接使用工匠推荐创建具有值的键。

任何帮助将不胜感激。

laravel laravel-5 laravel-localization

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