我用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手册中没有任何内容.
有人能够发现我犯的错误吗?
我的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)
我不明白这是怎么回事。
当我渲染 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) 我正在使用 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) 我创建了一个HTML的输出[R用rmarkdown::render(“file.rmd”, “output.html”)。
输出是一个多页flexdashboard html 输出,带有几个绘图图。因此没有任何闪亮的静态 HTML 文件。当我用 chrome 或 edge 打开这个文件时,这个文件完全按预期显示。
我想将此flexdashboard html 文件集成到sharepoint 中。但是,当我在 sharepoint 中打开此文件时,我只能看到html文件的标题,但文件的所有其他部分都没有正确显示。我已经在多台计算机和浏览器上对此进行了测试。只有 Edge(不是每台电脑)都能正确显示。
有没有人可以建议如何在 SharePoint Online 中正确集成r flexdashboard HTML 文件?
使用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)
但 …
有人能指出一个工作示例,其中packrat与AppVeyor一起使用来构建R包吗?通过Google和GitHub搜索,我找不到任何使用AppVeyor的packrat-enable软件包.
appveyor.yml文件是否需要更改?我需要通过AppVeyor网站添加一些设置吗?
我有一个非常小的包(testthat是唯一的依赖)破坏了AppVeyor构建.这是为该提交冻结的代码.这是AppVeyor日志.
(如果这个SO问题听起来很熟悉,我将问Travis-CI的类似问题.)
我正在尝试调用存储过程并检索输出。我正在使用符合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)
作为参考,这两个语句满足我的需要(使用RODBC和RODBCext包)。另外,在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) 我找到了一个组内的最小日期.很多时候,该组仅包括缺少日期(在这种情况下,我更喜欢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 …
我有一种情况,我必须将我的数组与语言文件同步,所以每次我都必须生成和翻译它。我正在寻找像laravel-langman这样的包,它可以选择同步。但是现在我正在寻找,它不允许我在不要求输入的情况下直接使用工匠推荐创建具有值的键。
任何帮助将不胜感激。
r ×8
r-dbi ×2
appveyor ×1
browser ×1
comparison ×1
date ×1
dplyr ×1
html ×1
laravel ×1
laravel-5 ×1
mysql ×1
na ×1
odbc ×1
packrat ×1
pandas ×1
pipe ×1
plotly-dash ×1
python ×1
r-markdown ×1
r-package ×1
r-plotly ×1
rmysql ×1
sharepoint ×1
shiny ×1
sql-server ×1
text ×1
text-mining ×1