小编Vin*_*der的帖子

在Shiny中同步Dygraph和DateRangeInput

我想在Shiny App中同步dygraph和DateRangeInput.下面的代码工作正常:我可以同时使用缩放选项和日期范围,但我不能使用dyRangeSelector,因为"乒乓"效果:

library(xts)
library(shiny)
library(dygraphs)
library(lubridate)


data("co2")
data <- as.vector(coredata(as.xts(co2)))
serie <-  xts(x = data,order.by = seq(from=today(),by=1,length.out = length(data)))
ui <- fluidPage(
   titlePanel("Dygraph & date range input"),
   sidebarLayout(
      sidebarPanel(
        dateRangeInput('plage', label = "Selectionnez la période :",
                        start = start(serie), end = end(serie),
                         # min = start(serie), max = end(serie),
                       separator = " - ", 
                       format = "dd mm yyyy", #"yyyy-mm-dd",
                       language = 'fr', weekstart = 1
        )
      ),
      mainPanel(
         dygraphOutput("dessin")
      )
   )
)

server <- function(input, output,session) {

observeEvent(input$dessin_date_window,{
  start …
Run Code Online (Sandbox Code Playgroud)

r dygraphs shiny r-dygraphs

11
推荐指数
2
解决办法
563
查看次数

复杂的R Shiny输入绑定问题与数据表

我想做一些有点棘手的事情,我希望有人可以帮助我.

我想在数据表中添加selectInput内容.如果我启动应用程序,我看到输入col_1,col_2..已经很好地连接到数据表(您可以切换到a,b或c)

如果我更新的数据集(从irismtcars)的连接在输入和数据表之间丢失.现在,如果您更改selectinput日志,则不显示修改.我该如何保留链接?

我做了一些测试shiny.bindAll(),shiny.unbindAll()但没有成功.

有任何想法吗?

请看看该应用程序:

library(shiny)
library(DT)
library(shinyjs)
library(purrr)

    ui <- fluidPage(
      selectInput("data","choose data",choices = c("iris","mtcars")),
      DT::DTOutput("tableau"),
      verbatimTextOutput("log")
    )

    server <- function(input, output, session) {
      dataset <- reactive({
        switch (input$data,
          "iris" = iris,
          "mtcars" = mtcars
        )
      })

      output$tableau <- DT::renderDT({
        col_names<-
          seq_along(dataset()) %>% 
        map(~selectInput(
          inputId = paste0("col_",.x),
          label = NULL, 
          choices = c("a","b","c"))) %>% 
          map(as.character)

        DT::datatable(dataset(),
                  options = list(ordering …
Run Code Online (Sandbox Code Playgroud)

javascript r datatables shiny

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

使用dplyr中的mutate_each将所有数值变量转换为factor

我正在尝试使用dplyr中的mutate_each来汇总因子中数据集的数值变量.

library(dplyr)
data(iris)
tbl_df(iris) ->iris

# I can transform all variables in factor
iris %>% mutate_each(funs(as.factor)) %>% summary
# I can transform some variables in factor
iris %>% mutate_each(funs(as.factor),one_of("Sepal.Length", "Petal.Length")) %>% summary
Run Code Online (Sandbox Code Playgroud)

但我的目标是将所有数字变量转换为因子,所以我试试这个:

iris %>% mutate_each(funs(as.factor),sapply(iris,is.numeric)) %>% summary # should be a good way, but it doesn't
Run Code Online (Sandbox Code Playgroud)

再试一次

iris %>% mutate_each(funs(as.factor),one_of(names(iris)[sapply(iris,is.numeric)]))
# Error in one_of(vars, ...) : object 'iris' not found

iris %>% mutate_each(funs(as.factor),names(iris)[sapply(iris,is.numeric)])
#Error in one_of(vars, ...) : object 'iris' not found

# anyway the one_of function dont seems …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

错误后如何激活R taskcallback

我想知道如何在错误后进行回调.

我尝试过这个,但它不能用于错误:

addTaskCallback(
  function(expr, value, ok, visible) {
    print("ok")
    TRUE
  }
)
getTaskCallbackNames()

print(1) #ok 
ls() #ok
dont_exist() # the taskcallback isn't activated
Run Code Online (Sandbox Code Playgroud)

编辑:

得到它了!

if (!require(devtools)){install.packages("devtools")}
devtools::install_github("ThinkRstat/fcuk")
library(fcuk)
sl()
iri
view
mea
Run Code Online (Sandbox Code Playgroud)

r

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

在 DT::datatable() 中显示 Inf

我想明确显示数据表Inf中的值而不是空白

iris[1, 1] <- Inf
DT::datatable(iris[1:2, ])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我不想转动列信息字符以便能够对列进行排序(如果我这样做,排序将按字母顺序排列)

有任何想法吗?


编辑:

我认为可以采用这种代码:

datatable(iris[c(1:20), ], options = list(columnDefs = list(list(
  targets = 5,
  render = JS(
    "function(data, type, row, meta) {",
    "return type === 'display' && data.length > 2 ?",
    "'<span title=\"' + data + '\">' + data.substr(0, 2) + '...</span>' : data;",
    "}")
))))
Run Code Online (Sandbox Code Playgroud)

使用@MLavoie解决方案,它没有区别NA并且Inf

df = iris
df[1,1]<-Inf
df[2,1]<-NA
DT::datatable(df)
library(DT)
DT::datatable(df[,], options = list(columnDefs = list(list(
  targets = 1,
  render = JS(
    "function(data, …
Run Code Online (Sandbox Code Playgroud)

datatable r shiny dt

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

使用 docker 运行 Rstudio-connect

我尝试使用 Docker 安装 Rstudio-connect。我尝试使用 ubuntu、centos 和 Rocker/tidyverse 基本图像。没有成功...

这是我制作的 Dockerfile。

FROM ubuntu
RUN apt-get update
RUN apt-get install -y gdebi-core
RUN apt-get install -y build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
RUN apt-get install -y r-base
RUN apt-get autoclean
RUN apt-get clean
RUN apt-get install -y texlive-full
RUN apt-get install -y libgmp10-dev  libgsl0-dev    libnetcdf-dev   netcdf-bin  libdigest-hmac-perl  libgmp-dev   libgmp3-dev  libgl1-mesa-dev   libglu1-$
RUN apt-get install -y  net-tools
RUN apt-get install -y procps

RUN gdebi -n rstudio-connect.deb
COPY rstudio-connect-*-amd64.deb rstudio-connect.deb
EXPOSE 3939
Run Code Online (Sandbox Code Playgroud)

使用此容器,我无法运行 rstudio connect。我有这个错误:“没有检测到已知的初始化系统。” 从这个脚本 …

ubuntu r rstudio docker

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

使用removeUI删除元素后如何清理"输入"

删除一些元素后,如何清除"输入" (下面的示例中的verbatimTextOutput("摘要")).我尝试了一些shiny.unbindAll没有成功的东西.专职人员removeUI不做这项工作.请看一下这个例子:

library(shiny)

ui <- fluidPage(

    actionButton('insertBtn', 'Insert'), 
    actionButton('removeBtn', 'Remove'), 
    verbatimTextOutput("summary"),
    tags$div(id = 'placeholder') 

)

server <- function(input, output, session) {
  ## keep track of elements inserted and not yet removed
  inserted <- c()

  observeEvent(input$insertBtn, {
    btn <- input$insertBtn
    id <- paste0('txt', btn)
    insertUI(
      selector = '#placeholder',
      ## wrap element in a div with id for ease of removal
      ui = tags$div(
        actionButton(inputId = paste0("truc",id),label = paste0("truc",id)), 
        id = id
      )
    )
    inserted <<- c(id, …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

在print.tbl中使用个人打印方法

我创建了一个名为的类time.这是一个虚拟的例子,它以秒为单位返回.这很好用,但该print.time函数不在tbl中使用.

任何ide我如何调整tbl内的显示?

问候

请看这里的代表

library(dplyr)
#> 
#> Attachement du package : 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
as.time <- function(x){
  class(x)<-"time"
  x
}
print.time<-function(x,...){
  print.default(unclass(x/60)) 
  invisible(x)
}


60 %>% as.time() %>% print()
#> [1] 1


tribble(~a,~time,
        "a",123,
        "b",234,
        "c",456
) %>% mutate(time = as.time(time))
#> # A tibble: 3 x 2
#>   a      time
#> …
Run Code Online (Sandbox Code Playgroud)

r tibble

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

如何使用命令行打开Rstudio项目

我正在开发一个 Rstudio 插件,我需要切换到另一个 Rstudio 项目。

在 Windows 上我可以使用browseURL(".../project.Rproj"),但它会打开一个新的 Rstudio 会话。在 Rstudio 服务器上,此指令只需在浏览器中打开 project.Rproj 内容文件,而不是打开项目。

我想我需要类似的东西rstudioapi::open_project(...)

任何想法?

r rstudio rstudio-server

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

对于混合模型,AIC计算在R和SAS中不匹配

我尝试使用R重现一些SAS输出.我想重现的方法是:

使用混合模型重复测量因子时间的方差的双向分析(协方差矩阵= CS,估计方法= REML)

AIC看起来很好看...我想知道是否有人知道SAS使用的AIC公式......

主要的SAS输出是:

anova表

AIC和co

如果loglik相同,Anova表是相同的,但不是AIC(和BIC)事件.

这就是我用R做的:

library(nlme)
dataset_melt <- structure(list(Groupe = c("A", "A", "A", "A", "A", "B", "B", 
"B", "B", "B", "C", "C", "C", "C", "C", "A", "A", "A", "A", "A", 
"B", "B", "B", "B", "B", "C", "C", "C", "C", "C", "A", "A", "A", 
"A", "A", "B", "B", "B", "B", "B", "C", "C", "C", "C", "C", "A", 
"A", "A", "A", "A", "B", "B", "B", "B", "B", "C", "C", "C", "C", 
"C", "A", "A", "A", "A", "A", "B", "B", …
Run Code Online (Sandbox Code Playgroud)

r sas lme4 mixed-models nlme

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

在docker内部的R 3.3.2上安装rJava和nloptr

里面rocker/tidyverse:3.3.2即使我安装 r-cran-rjava r-cran-nloptr没有错误,无论是包装rJAva,并nloptr在R缺少任何想法,为什么?

看下面的Docker文件:

FROM rocker/tidyverse:3.3.2

RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list

RUN apt-get update && apt-get install -y --no-install-recommends apt-utils

RUN apt-get -y update && apt-get install -y \
   default-jdk  r-cran-rjava  r-cran-nloptr libssh2-1-dev 
RUN R -e "library('rJava')" # Error in library("rJava") : there is no package called ‘rJava’
RUN R -e "library('nloptr')" # Error in library("nloptr") : there is no package …
Run Code Online (Sandbox Code Playgroud)

r rjava docker

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

ggplot2 中具有多种填充颜色的 geom_bar

我有这样的数据集:

comb<-data.frame(nom=c("A","B","C","A","B","C"),type=c(rep("1",3),rep("2",3)),val=c(1,3,2,3,2,2))
Run Code Online (Sandbox Code Playgroud)

我想得到这个结果ggplot2

在此处输入图片说明

但我只有这个

ggplot()+    geom_bar(data=comb,aes(x=nom, y=val,fill=type),stat='identity',position='dodge')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

你有什么解决办法吗?

r ggplot2 geom-bar

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