我想在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) 我想做一些有点棘手的事情,我希望有人可以帮助我.
我想在数据表中添加selectInput内容.如果我启动应用程序,我看到输入col_1,col_2..已经很好地连接到数据表(您可以切换到a,b或c)
但
如果我更新的数据集(从iris至mtcars)的连接在输入和数据表之间丢失.现在,如果您更改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) 我正在尝试使用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) 我想知道如何在错误后进行回调.
我尝试过这个,但它不能用于错误:
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) 我想明确显示数据表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) 我尝试使用 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。我有这个错误:“没有检测到已知的初始化系统。” 从这个脚本 …
删除一些元素后,如何清除"输入" (下面的示例中的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) 我创建了一个名为的类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) 我正在开发一个 Rstudio 插件,我需要切换到另一个 Rstudio 项目。
在 Windows 上我可以使用browseURL(".../project.Rproj"),但它会打开一个新的 Rstudio 会话。在 Rstudio 服务器上,此指令只需在浏览器中打开 project.Rproj 内容文件,而不是打开项目。
我想我需要类似的东西rstudioapi::open_project(...)
任何想法?
我尝试使用R重现一些SAS输出.我想重现的方法是:
使用混合模型重复测量因子时间的方差的双向分析(协方差矩阵= CS,估计方法= REML)
AIC看起来很好看...我想知道是否有人知道SAS使用的AIC公式......
主要的SAS输出是:
如果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) 里面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) 我有这样的数据集:
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 ×12
shiny ×4
docker ×2
rstudio ×2
datatable ×1
datatables ×1
dplyr ×1
dt ×1
dygraphs ×1
geom-bar ×1
ggplot2 ×1
javascript ×1
lme4 ×1
mixed-models ×1
nlme ×1
r-dygraphs ×1
rjava ×1
sas ×1
tibble ×1
ubuntu ×1