我正在将R Studio Server与R Shiny结合使用,在Ubuntu 16.04上运行.一切正常.我想要保护R Shiny仪表板(用户名+ pw),我正在考虑建立一个与AWS Cognito通信的小网页来验证用户.
我找不到任何关于这种组合的文档(Shiny + Cognito),但确实找到了一些关于R Shiny Authentication(使用NGINX + Auth0)和Cognito(例如与NodeJS结合使用)的文档.
Shiny和Cognito(例如PHP或Node JS)的组合是逻辑和安全的吗?什么是最好的方法:一个简单的网页与一些PHP,或一个Node JS应用程序,其中包含Shiny?
我意识到这个问题相当广泛,但是因为我确信我不是唯一一个在这个问题上走来走去的人,所以我仍然要求所有人都能从可能的解决方案中获益.
当我尝试将pandas数据帧中的某些列从"0"和"1"转换为"TRUE"和"FALSE"时,pandas会自动将dtype检测为boolean.我想将dtype保持为字符串,字符串为"TRUE"和"FALSE".
见下面的代码:
booleanColumns = pandasDF.select_dtypes(include=[bool]).columns.values.tolist()
booleanDictionary = {'1': 'TRUE', '0': 'FALSE'}
pandasDF.to_string(columns = booleanColumns)
for column in booleanColumns:
pandasDF[column].map(booleanDictionary)
Run Code Online (Sandbox Code Playgroud)
不幸的是,python会在最后一次操作时自动将dtype转换为boolean.我怎么能阻止这个?
我正在尝试加载(并直接保存在本地).csv存储在FTP服务器(SFTP协议)上的文件.我正在将Python与pysftp库结合使用.当我检查文件是否存在时,它返回TRUE.但是在尝试加载文件时,无论我尝试什么,它似乎都是空的.
如何将文件存入(并存储)到我的本地环境?我想念一些明显的东西吗?
import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
# Make connection to sFTP
with pysftp.Connection(hostname,
username=sftp_username,
password=sftp_pw,
cnopts = cnopts
) as sftp:
sftp.isfile('directory/file.csv')) ## TRUE
file = sftp.get('directory/file.csv')
print(file) ## None
sftp.close()
Run Code Online (Sandbox Code Playgroud) 使用Python:当使用pyodbc连接到SQL Server时,一切正常,但是当我切换到sqlalchemy时,连接失败,给我错误消息:
('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)
我的代码:
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PWD=password')
engine = sqlalchemy.create_engine("mssql+pyodbc://username:password@servername/dbname")
Run Code Online (Sandbox Code Playgroud)
我在代码中找不到错误,并且不理解为什么第一个选项有效,但第二个选项没有.
非常感谢帮助!
我构建了一个带有多个选项卡的R Shiny应用程序,它们有一些共同的过滤器.目前,所有过滤器都是独立的,不会跨多个标签同步.因此,当我将selectInput1从值"a"更改为值"b"时,我必须在包含具有相同选项/含义的selectInput2的下一个选项卡上重复此处理.
我想过使过滤器动态化,因此使用R Shiny的服务器端渲染它们.当然,我总是可以使selectInput2等于selectInput1.但是如果用户更改selectInput2而不是selectInput1会怎样?它在逻辑中创建了一种循环.
我花了很长时间找到解决这个问题的方法,不知怎的,我确信我不是第一个遇到这个问题的人.建议或有用的链接将非常有用!
例:
## UI.R
shinyUI(
dashboardPage("Dashboard",
# Create tabs
tabPanel("Start",
p("This is the frontpage")
),
tabPanel("tab1",
uiOutput("selectInput1")
),
tabPanel("tab2",
uiOutput("selectInput2")
)
)
)
Run Code Online (Sandbox Code Playgroud)
和:
## Server.R
library(shiny)
shinyServer(function(input, output,session){
output$selectInput1 <- renderUI({
selectInput(inputId = "id1",
label = "select",
choices = c("a","b","c"),
selected = "a")
})
output$selectInput2 <- renderUI({
selectInput(inputId = "id2",
label = "select",
choices = c("a","b","c"),
selected = "a")
})
})
Run Code Online (Sandbox Code Playgroud) 简而言之:使用R和Plotly包,我可以创建一个覆盖条形图,其中使用 x 轴上的相同位置显示 2 个系列吗?经过相当多的谷歌搜索后,我找不到答案。
例如这个可视化:
使用 Plotly 和 R 创建分组(非重叠)堆叠条形图的代码:
months = 1:12
n1 = runif(12, min = 0, max = 1)
n2 = runif(12, min = 0, max = 1)
dfPlot = data.frame(months, n1, n2)
plot_ly(x = dfPlot [,1],
y = dfPlot [,2],
type = 'bar') %>%
add_trace(x = dfPlot[,1],
y = dfPlot[,3],
type = 'bar')
Run Code Online (Sandbox Code Playgroud)
如何调整图表以使系列重叠?关于如何以类似的方式可视化相同信息但具有不同逻辑的建议也非常感谢!
我使用 R Shiny Dashboardpage 来构建我的交互式仪表板。我想锁定dashboardHeader和sidebarMenu,以便在滚动时,标题和侧边栏保持在同一位置。
对于 sidebarMenu,这可以在 CSS 中完成:
.skin-blue .main-sidebar {
position: fixed;
overflow: visible;
}
Run Code Online (Sandbox Code Playgroud)
但是,当您对dashboardHeader 尝试相同的技巧时,它失败了。它将下拉菜单(通知图标)放在左侧,而不是右上角。
如何在不更改 Shiny 应用程序设计的情况下修复标题?
最小工作示例:
应用程序R:
## app.R ##
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard",
dropdownMenu(type = "messages",
messageItem(
from = "Sales Dept",
message = "Sales are steady this month."
)
)
),
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard")),
menuItem("Widgets", tabName = "widgets", icon = icon("th"))
)
),
dashboardBody(
## Add some CSS shit to change colors, …Run Code Online (Sandbox Code Playgroud) 我正在R Shiny使用该DT软件包构建具有动态数据表的应用程序。用户可以在包含更多列的data.frame中选择两列。
当用户选择一列时,数据表将更新,并且数据表对象中的所有过滤器/排序都将重置为默认值。当用户未替换给定列时,如何让应用程序记住过滤器和排序?
以下是最小的工作示例:
library(shiny)
library(DT)
library(data.table)
server <- function(input, output) {
df <- data.frame(
name = rep('a',20),
dimA = 1:20,
dimB = 21:40,
dimC = 41:60
)
observe({
columns <- c('name', input$dim1ID, input$dim2ID)
dfDt <- df[names(df) %in% columns]
output$dtDataTable = DT::renderDataTable(
server = FALSE,
expr = datatable(
dfDt,
filter = 'top',
rownames = FALSE,
selection = 'none',
options = list(sDom = '<"top">rt<"bottom">ip')
)
)
})
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
## Dimension 1
selectInput( …Run Code Online (Sandbox Code Playgroud) 对于 R Shiny,有多个非常有用的模板可以开始构建您的仪表板。最著名的是Shinydashboard 包,它使用了 Bootstrap 3 模板。我正在寻找类似的模板或示例作为创建 Dash Dashboard 的起点。Dash 网页上有很多示例,但没有一个在左侧窗格中提供导航。
是否有 Python Dash 仪表板的模板,它在网页的左窗格中有导航,在网页的右窗格中有图/过滤器?
我想将DAG文件添加到在Ubuntu上的Docker中运行的Airflow中。我使用了以下git存储库,其中包含配置和指向docker image的链接。当我跑步时docker run -d -p 8080:8080 puckel/docker-airflow webserver,一切正常。但是我找不到将DAG安全添加到Airflow的方法。或者,我跑了docker run -d -p 8080:8080 puckel/docker-airflow webserver -v /root/dags:/usr/local/airflow/dags,也没有成功。
我尝试编辑/config/airflow.cfg并将git凭据添加到包含dag的存储库中,但没有成功。此外,假设此文件夹与Docker容器共享,则/dags在中添加一个home/root/dags包含DAG的文件夹。但是也没有成功。
Docker composer文件包含以下卷设置:
webserver:
image: puckel/docker-airflow:1.10.0-2
...
volumes:
- ./dags:/usr/local/airflow/dags
Run Code Online (Sandbox Code Playgroud)
但是,当我./dags在运行Docker容器的文件夹中添加内容时,DAG不会出现在Airflow中。
当DAG在Docker中运行时,如何安全地将DAG添加到Airflow?
r ×5
python ×4
shiny ×4
airflow ×1
css ×1
datatable ×1
dictionary ×1
docker ×1
pandas ×1
plotly ×1
plotly-dash ×1
pysftp ×1
replace ×1
sftp ×1
shiny-server ×1
sql-server ×1
sqlalchemy ×1
ubuntu ×1