我有一个闪亮的应用程序,其中绘图需要根据用户输入调整高度.基本上,该图可以有一个,两个或四个子图.当有一个或两个时,一切都很好,但有四个,子图被压扁到太小的尺寸.我试过用一个反应函数给我一个服务器的计算高度,但是我得到了这个错误:
Error in .getReactiveEnvironment()$currentContext() :
Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)
Run Code Online (Sandbox Code Playgroud)
我试图做的一个非常简化的版本是:
library(shiny)
ui <- fluidPage(
fluidRow(
column(2,
radioButtons( inputId = 'plotcount', label = 'Plot Count',
choices = c('1' = 1,
'2' = 2,
'4' = 4
),
selected = '1'
)
),
column(10,
plotOutput( outputId = 'plots' )
)
)
)
server <- function(input, output) {
PlotHeight = reactive(
return( …Run Code Online (Sandbox Code Playgroud) 我需要从命令行构建可重现的 R 安装。看起来很简单,所以我用我感兴趣的包名创建了一个文件,例如
包.txt:
ggvis
glmnet
caret
Run Code Online (Sandbox Code Playgroud)
一个名为 installPkgs.R 的 R 脚本:
f = read.csv('packages.txt', header=FALSE)
z = install.packages(f[,1], repos='https://cran.rstudio.com')
Run Code Online (Sandbox Code Playgroud)
然后我应该能够从命令行运行它:
Rscript installPkgs.R
Run Code Online (Sandbox Code Playgroud)
当我这样做时,软件包已下载但未安装。我错过了什么?
我正在尝试reticulate使用 RStudio Server v1.2.5042 以及使用conda. 当我使用 启动 Python 作业时reticulate,出现错误,指出某些系统库的版本不正确,特别libstdc++.so.6是 和libz.so.1。
首先,我意识到 CentOS 7.8 有点旧,一些问题可以通过升级操作系统来解决,但在这种情况下这不是一个选择。
该conda环境确实有效,我可以在终端窗口中运行目标 Python 脚本,不会出现任何错误。在RStudio中使用reticulate,此时代码非常简单:
library(reticulate)
use_condaenv('test')
py_run_file('test_script.py')
Run Code Online (Sandbox Code Playgroud)
当脚本运行时,我收到以下错误:
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/<user>/.conda/envs/test/lib/python3.8/site-packages/scipy/_lib/_uarray/_uarray.cpython-38-x86_64-linux-gnu.so)
当我查看/usr/lib64目录时,我发现libstdc++.so,但运行strings libstdc++.so | grep ^GLIBC | sort显示它确实不支持 version GLIBCXX 3.4.21。没有什么惊喜。如果我导航到该/home/<user>/.conda/envs/test/lib目录,我会找到另一个副本libstdc++.so.6,并且这个副本确实支持 version GLIBCXX 3.4.21。因此,正确的环境目录中存在正确版本的库conda,但由于某种原因 RStudioreticulate找不到它。
我尝试更改LD_LIBRARY_PATH为conda首先列出环境目录,但这不起作用。我在这里 …
我已经构建了一个使用Tkinter的Python(2.7)应用程序,并尝试使用Pyinstaller(3.2)构建Windows7 .exe.在Windows中找到的应用程序工作是我运行它python myapp.py,但一旦编译成pyinstaller distributable,我收到此错误消息:
ImportError: No module named Tkinter
Run Code Online (Sandbox Code Playgroud)
可以肯定的是,myapp.py的顶部包含:
from copy import deepcopy
import cPickle as pickle
import Tkinter as tk
from PIL import ImageTk
Run Code Online (Sandbox Code Playgroud)
检查分发目录,我看到tk85.dll,tcl85.dll和两个相关的目录,tcl /和tk /
我发现了许多对辅助Tkinter依赖项的引用,例如matplotlib,它导入了Tkinter itslef,但我没有找到像这样的直接依赖的任何细节.
任何想法如何使这个工作?
我最近升级到 F24,现在在我的 R 会话中我无法加载几个包,sp。reshape2、latex2exp、knitr 等。
我发现的最初问题是 F24 使用 libicu56,而这些包使用 libicu54。我按照此线程中的建议 设置具有所需版本的符号链接:
ln -s /usr/lib64/libicui18n.so.56 /usr/lib64/libicui18n.so.54
ln -s /usr/lib64/libicuuc.so.56 /usr/lib64/libicuuc.so.54
ln -s /usr/lib64/libicudata.so.56 /usr/lib64/libicudata.so.54
Run Code Online (Sandbox Code Playgroud)
最初的错误消失了,但现在我有了:
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so':
/home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so: undefined symbol: _ZTIN6icu_548ByteSinkE
Run Code Online (Sandbox Code Playgroud)
这导致我使用 R 的 stringi 包,但我无法加载它 - 它给出了相同的错误。
我也更新了 F24 和所有 R 包。
有任何想法吗?
在Rstudio中使用knitr,当.Rmd文件编织为PDF时,生成的文件查看器就是evince.我非常想将此更改为okular,但我无法找到实现此目的的方法.
查看Sweave设置,我看到预览中注明了"系统查看器",但okular已经设置为我的默认系统查看器.我还用xdg-mime检查了默认查看器,okular也是默认查看器.在所有其他情况下,okular是默认值,但Rstudio/knitr总是使用evince.
我该如何改变这种行为?
在我的R会话中,我正在设置一些环境变量
Sys.setenv(BLAH="blah")
Run Code Online (Sandbox Code Playgroud)
当我切换到终端(Ctrl-Z)然后尝试访问环境变量时,我发现它没有设置.
echo $BLAH
Run Code Online (Sandbox Code Playgroud)
问题是,我从R设置的环境变量在哪里,如果我想让另一个进程看到它,我怎样才能访问它?
在编写R代码以识别具有数字数据的列时,我遇到了一些问题并在SO上发现了这个问题: 是否有使用is.numeric的矢量化方法?
在那个页面中,我找到了答案,但我对问题本身的性质感到困惑.在该页面上,以下代码片段执行我期望的操作:
> dat <- data.frame(v1=1:5,v2=letters[1:5],v3=rnorm(5),v4=c(1,2,'c','d',5))
> sapply(dat,is.numeric)
v1 v2 v3 v4
TRUE FALSE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)
但如果我改变申请,我会找到导致我问题的原因.
> dat <- data.frame(v1=1:5,v2=letters[1:5],v3=rnorm(5),v4=c(1,2,'c','d',5))
> apply(dat,2,is.numeric)
v1 v2 v3 v4
FALSE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)
为什么申请和sapply导致不同的评估?
我正在尝试在 RMarkdown 中创建格式良好的方程,但我似乎无法将它正确地输入到 Knit 中。我拥有的 LaTeX 块如下所示:
---
title: "Untitled"
author: "KirkD-CO"
date: "September 18, 2019"
output: pdf_document
---
$$
f(x) = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \beta_4 (x-\xi)^3_+
\\
\begin{equation}
(x-\xi)^3_+ =
\begin{cases}
(x-\xi)^3 \ , \ x>\xi
\\
0 \ \ \ \ \ \ \ \ \ \ \ \ \ , \ x\leq\xi
\end{cases}
\end{equation}
\\
\
\\
\begin{aligned}
(x \leq \xi) \Rightarrow f(x) &= \beta_0 + \beta_1 x + …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个Shiny仪表板页面,该页面将包含带不同类型图表的选项卡式页面,允许用户动态更改设置等。从Shiny Dashboards页面的标准演示代码开始,我可以得到一个叠加版本的页面(https://rstudio.github.io/shinydashboard/structure.html#tabbox):
library(shiny)
library(shinydashboard)
body <- dashboardBody(
fluidRow(
tabBox(
title = "First tabBox",
# The id lets us use input$tabset1 on the server to find the current tab
id = "tabset1",
tabPanel("Tab1", "First tab content", plotOutput('test')),
tabPanel("Tab2", "Tab content 2")
),
tabBox(
side = "right",
selected = "Tab3",
tabPanel("Tab1", "Tab content 1"),
tabPanel("Tab2", "Tab content 2"),
tabPanel("Tab3", "Note that when side=right, the tab order is reversed.")
)
),
fluidRow(
tabBox(
# Title can include an icon
title = …Run Code Online (Sandbox Code Playgroud) 我最近一直在与 Docker 合作来托管一个 RStudio 服务器实例。有许多软件包需要安装,在 Dockerfile 中执行此操作的一种方法是(显然还有更多行):
RUN Rscript -e "install.packages('beanplot')"
RUN Rscript -e "install.packages('beeswarm')"
RUN Rscript -e "install.packages('boot')"
RUN Rscript -e "install.packages('caTools')"
Run Code Online (Sandbox Code Playgroud)
我看到很多这样的例子:
RUN Rscript -e "install.packages(c('beanplot','beeswarm','boot','caTools'))
Run Code Online (Sandbox Code Playgroud)
此外,我经常看到像这样链接在一起的各种可执行行:
RUN yum -y update \
&& yum -y groupinstall 'Development Tools' \
&& yum -y install epel-release \
vim \
initscripts \
libpng-devel \
mesa-libGL \
mesa-libGL-devel \
mesa-libGLU \
mesa-libGLU-devel \
ypbind \
rpcbind \
authconfig \
&& yum -y install R \
&& mkdir /rhome
Run Code Online (Sandbox Code Playgroud)
而不是将 is && 行作为单独的 …
r ×9
rstudio ×2
shiny ×2
conda ×1
docker ×1
fedora ×1
knitr ×1
latex ×1
libstdc++ ×1
pdf ×1
pyinstaller ×1
python ×1
python-2.7 ×1
r-markdown ×1
reticulate ×1
tkinter ×1