在这个极好的问题中:Shiny:使用Rhandsontable和外部参数切换反应数据集,数据帧和rhandsontable输出具有相同的结构.
我正在尝试解决类似的问题,但是数据集没有相同的结构,并且数据集是在嵌套列表中构建的.考虑具有两个输入选择器的此示例:
根据输入选择器,可以生成四种可能的表.他们是:
表1(清单1,"第一"):
表2(清单1,"第二"):
表3(清单2,"第三"):
表4(清单2,"第四"):
每个表通过renderRHandsontable元素出现在同一个位置.我认为我的问题在于更新reactiveValue"值" - 如何更新列表的元素而不更新任何其他元素?这是一个显示正确的最小示例,但您无法更改任何元素(我试图解决的问题).
require(rhandsontable)
require(shiny)
# Create some fake lists
list_1 <- list()
list_2 <- list()
list_1[['first']] <- data.frame(matrix(1:4,ncol=4))
list_1[['second']] <- data.frame(matrix(1:2,ncol=2),bool=factor('a1',levels=c('a1','a2','a3')))
list_2[['third']] <- data.frame(matrix(7:9,ncol=3))
list_2[['fourth']] <- data.frame(matrix(10:11,ncol=2),bool=factor('b1',levels=c('b1','b2')))
ui <- fluidPage(sidebarLayout(sidebarPanel(
selectInput(
'list_selector', 'Select list:',
choices = c('list_1', 'list_2')
),
uiOutput("second_selectorUI")
),
mainPanel(rHandsontableOutput("out"))))
server <- function(input, output) {
values = reactiveValues()
values[["list_1"]] <- list_1
values[["list_2"]] <- list_2
# Feed user input back to the list
observe({
if (!is.null(input$out)) {
temp <- …Run Code Online (Sandbox Code Playgroud) 我有两个字符形式的时间戳,我想在R中转换为POSIX格式.这些timestamps是:
1: "2013-03-30 17:45:00"
2: "2013-03-31 02:05:00"
Run Code Online (Sandbox Code Playgroud)
第一个转换为精细,第二个转换为精细NA.该timestamps下载为characters从SQL server.任何人都有任何想法出了什么问题?
我没有附加屏幕截图的声誉,因此我的R控制台的屏幕截图显示了结果:http://emillarsen.com/r%20console.jpg
我正在尝试将SelectAreaFeature Leaflet JS 插件与 Leaflet for R 一起使用。
我使用其他 Leaflet JS 插件取得了成功,但没有使用 SelectAreaFeature 插件。这是一个 MRE(需要SelectAreaFeature js 文件):
library(leaflet)
library(htmltools)
library(shiny)
selectarea <- htmlDependency("SelectAreaFeature", "1",
src = c(file = paste0(getwd(),"/src")), # update path
script = "Leaflet.SelectAreaFeature.js")
registerPlugin <- function(map, plugin) {
map$dependencies <- c(map$dependencies, list(plugin))
map
}
server = function(input, output, session) {
output$map <- renderLeaflet({
leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
setView(lng=9.4, lat=56.3, zoom = 8) %>%
registerPlugin(selectarea)
})
}
ui <- fluidPage(
tags$script(HTML(
'$("#enable-button").click(function(){
selectfeature = map.selectAreaFeature.enable();
selectfeature.options.color …Run Code Online (Sandbox Code Playgroud) 编辑:我已将登录详细信息添加到演示 SQL Server 2017。
我正在使用 FreeTDS 驱动程序(优于 Microsoft odbc 驱动程序,因为它支持 Linux 中的 Windows 身份验证)从 R 查询 SQL Server。
我正在努力解释几何列st_read。
连接是这样启动的:
library(odbc)
library(DBI)
library(sf)
username <- 'SO-user'
sql_server_ip <- '35.214.169.110'
password <- 'SQLaskingfortrouble?!'
con <- dbConnect(odbc(),
Driver = "FreeTDS",
Server = sql_server_ip,
Database = "stackoverflow-example",
UID = username,
PWD = password,
Port = 1433)
# I have also tried Driver = "ODBC Driver 17 for SQL Server"
Run Code Online (Sandbox Code Playgroud)
这是一个查询结果:
data <- dbGetQuery(con, 'SELECT TOP 2
objectid, geom,
geom.STGeometryType() geom_type,
geom.STSrid …Run Code Online (Sandbox Code Playgroud) 我一直在与 R 结合使用 H2O.ai(版本 3.10.3.6)。
我正在努力用 h2o.glm 复制 glm 的结果。我希望得到完全相同的结果(在这种情况下,根据均方误差进行评估),但我认为 h2o 的准确性必须更差。由于我的模型是高斯模型,我希望这两种情况都是普通的最小二乘(或最大似然)回归。
这是我的例子:
train <- model.matrix(~., training_df)
test <- model.matrix(~., testing_df)
model1 <- glm(response ~., data=data.frame(train))
yhat1 <- predict(model1 , newdata=data.frame(test))
mse1 <- mean((testing_df$response - yhat1)^2) #5299.128
h2o_training <- as.h2o(train)[-1,]
h2o_testing <- as.h2o(test)[-1,]
model2 <- h2o.glm(x = 2:dim(h2o_training)[2], y = 1,
training_frame = h2o_training,
family = "gaussian", alpha = 0)
yhat2 <- h2o.predict(model2, h2o_testing)
yhat2 <- as.numeric(as.data.frame(yhat2)[,1])
mse2 <- mean((testing_df$response - yhat2)^2) #8791.334
Run Code Online (Sandbox Code Playgroud)
h2o 模型的 MSE 高 60%。我的假设是 glm 吗?h2o.glm …
我正在尝试使用 Google API Python 客户端库启动 Google Compute 实例。这是为了让一个便宜的实例(在单个内核上运行)可以定期启动和停止一个更昂贵的实例(具有多个内核),以降低成本。
我已经成功安装了不同的组件并运行了 Google 的示例脚本create_instance.py(它创建了一个实例,运行了一个启动脚本,然后删除了该实例)。检查 Compute Engine API 的 PyDoc 参考,并交叉参考 create_instance.py 示例中其他实例()函数的工作方式,我希望启动实例命令是:
python compute.instances().start(project=*, zone=*, instance=*).execute()
Run Code Online (Sandbox Code Playgroud)
上面的命令给了我错误“在 '('. at line:1 char:34”之后需要一个表达式 - 这是第一个括号。
一种。我做错了什么?
湾 将 Google API 与 Python 结合使用是从其他实例以编程方式启动实例的好方法吗?