小编fif*_*ace的帖子

使用rhandsontable在不同格式的反应数据集之间切换

在这个极好的问题中: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 shiny rhandsontable

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

在R中使用as.POSIXct为相同的字符结构提供na

我有两个字符形式的时间戳,我想在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下载为charactersSQL server.任何人都有任何想法出了什么问题?

我没有附加屏幕截图的声誉,因此我的R控制台的屏幕截图显示了结果:http://emillarsen.com/r%20console.jpg

timestamp r

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

将 SelectAreaFeature 插件与 Leaflet for R 一起使用

我正在尝试将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)

r leaflet shiny r-leaflet

5
推荐指数
0
解决办法
142
查看次数

从 R 查询 SQL Server 地理空间数据

编辑:我已将登录详细信息添加到演示 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)

sql-server r spatial-query r-sf

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

对于线性回归,h2o.glm 与 R 中的 glm 不匹配

我一直在与 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 …

r h2o

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

使用 Python 启动 Google Compute 实例

我正在尝试使用 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 结合使用是从其他实例以编程方式启动实例的好方法吗?

python google-compute-engine google-api-python-client

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