使用R shiny&DT包,我正在创建某些表.列数根据用户输入而变化,并且不固定.我已经包含以下代码片段以包含水平滚动条,以便当列数较大时,用户可以滚动不直接可见的列.
server.R:
output$results <- DT::renderDataTable({
DT::datatable(data = datasetInput(),
options = list(scrollX = TRUE,...)
)
})
<code reduced for brevity>
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,水平滚动条最初不可见,但是当我点击一行并点击键盘上的右箭头时会出现.一旦表格被激发,滚动条是否有任何可见的方式,无论我有多少列,我都可以使用鼠标指针拖动滚动条?
更新:
我在下面的答案中尝试了代码,这就是我所看到的 - 没有水平滚动条.

我的闪亮应用程序中有一个框,其中有一个按钮,包含在闪亮的仪表板框中,如下所示:
shiny::fluidRow(
shinydashboard::box(title = "Intro Page", "Some description...",
shiny::actionButton(inputId='ab1', label="Learn More", icon = icon("th"))
)
)
Run Code Online (Sandbox Code Playgroud)
我想在按钮中包含一个weblink,这样当我点击它时,它应该在一个新标签中打开相应的网页.
我知道我可以这样做:
# this does not create a submit button though, it just creates a link.
tags$div(class = "submit",
tags$a(href = "www.google.com",
"Learn More",
target="_blank")
)
Run Code Online (Sandbox Code Playgroud)
但是使用actionButton,有一个很好的按钮,我可以添加一个看起来更美观的图标.
如何在有光泽的情况下添加actionButton的链接?
我正在为通路浓缩程序创建用户界面.结果如下表所示.

下面是一个片段,显示我使用DT :: renderDataTable和DT :: datatable在选项卡中输出表.spia_out()只是一个反应函数,它运行路径浓缩并产生一个数据帧.
spia_out <- reactive({
...get results in a dataframe...
})
output$spiaout <- DT::renderDataTable({
DT::datatable(spia_out(), extensions = ..., options = ...)
})
Run Code Online (Sandbox Code Playgroud)
一切正常,路径丰富表生成并打印在相应的UI元素中.我唯一的问题是如何将URL的最后一列(KEGGLINK)转换为活动超链接?这样人们就可以点击它们而不是复制和粘贴.
为截图的大小提前道歉.我希望你能看到最后一栏KEGGLINK有URL,但它们没有活动.
我有2个数据帧:
dat:1900个隐含的9个变量
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 V_P50P50_Q3 chr12 106642383 106642395 + 18.1425 4.03e-08 0.0515 GGGGGACTCCCCC
2 V_P50RELAP65_Q5_01 chr8 142276666 142276677 - 16.6429 2.51e-07 0.2780 GGGATTTCCCAC
3 V_RELA_Q6 chr22 51020067 51020078 - 15.9395 2.71e-07 0.3350 GGGAATTTCCCC
4 V_NFKB_Q6_01 chr14 98601454 98601469 + 17.0684 3.08e-07 0.236 GGAGTGGAAATTCC
5 V_CREL_Q6 chr22 51020068 51020079 - 16.1165 3.19e-07 0.4050 AGGGAATTTCCC
Run Code Online (Sandbox Code Playgroud)
dat.markov:986个变量的1486个障碍物
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 V_NFKB_Q6_01 chr14 98601454 98601469 + 17.2212 1.33e-07 0.146 …Run Code Online (Sandbox Code Playgroud) 这是我的脚本:
#!/bin/bash
#script to loop through directories to merge fastq files
sourcedir=/path/to/source
destdir=/path/to/dest
for f in $sourcedir/*
do
fbase=$(basename "$f")
echo "Inside $fbase"
zcat $f/*R1*.fastq.gz | gzip > $destdir/"$fbase"_R1.fastq.gz
zcat $f/*R2*.fastq.gz | gzip > $destdir/"$fbase"_R2.fastq.gz
done
Run Code Online (Sandbox Code Playgroud)
这里目录'source'中有大约30个子目录.每个子目录都有一些R1 .fastq.gz文件和R2 .fastq.gz,我想将它们合并到一个R1.fastq.gz和R2.fastq.gz文件中,然后将合并后的文件保存到目标目录.我的代码工作正常,但由于数据量的原因,我需要加快速度.我只想知道有什么办法可以在我的脚本中实现多线程编程吗?如何运行我的脚本以便多个作业并行运行?bash脚本新手,所以任何帮助将不胜感激.
我正在使用ggplot2创建一个boxplot.我能够成功创建boxplot但是在ggplot2中将两个要素与facet合并时遇到问题:
>tmpdf
value treat FoldChange Gene Pvalue.Adj
523.8589 Normal -1.899 A 0.02828
489.7638 Normal -1.899 A 0.02828
642.0126 Cancer -1.899 A 0.02828
928.8136 Cancer -1.899 A 0.02828
624.7892 Normal -1.899 A 0.02828
53.8685 Normal -7.135 B 0.00012
184.6473 Normal -7.135 B 0.00012
76.2712 Cancer -7.135 B 0.00012
48.0607 Cancer -7.135 B 0.00012
177.9528 Normal -7.135 B 0.00012
4581.2847 Normal -1.886 C 0.04924
7711.3411 Normal -1.886 C 0.04924
6007.9852 Cancer -1.886 C 0.04924
5940.9232 Cancer -1.886 C 0.04924
4433.0949 Normal -1.886 …Run Code Online (Sandbox Code Playgroud) 我使用ggplot2创建了一个boxplot:
library(ggplot2)
dat <- data.frame(study = c(rep('a',50),rep('b',50)),
FPKM = c(rnorm(1:50),rnorm(1:50)))
ggplot(dat, aes(x = study, y = FPKM)) + geom_boxplot()
Run Code Online (Sandbox Code Playgroud)
箱线图将中位数显示为每个方框的水平线.
如何在表示该组平均值的框中添加虚线?
谢谢!
我有一个数据帧:
>picard
count reads
1 20681318
2 3206677
3 674351
4 319173
5 139411
6 117706
Run Code Online (Sandbox Code Playgroud)
如何在ggplot(barplot)上绘制log10(计数)与log10(读数)?
我试过了:
ggplot(picard) + geom_bar(aes(x=log10(count),y=log10(reads)))
Run Code Online (Sandbox Code Playgroud)
但它不接受y = log10(读取).如何绘制y值?
我曾在这里写过一篇(类似的)帖子,我试图创建一个宽表而不是长表.我意识到最好把我的桌子放在长格式中,所以我把它作为一个不同的问题发布.我也发布了我尝试过的内容.
我正在使用以下方法R来约束~11000个文件:
# get list of ~11000 files
lfiles <- list.files(pattern = "*.tsv", full.names = TRUE)
# row-bind the files
# use rbindlist to rbind and fread to read files
# use mclapply I am assigning 32 cores to it
# add the file basename as the id to identify rows
dat <- rbindlist(mclapply(lfiles, function(X) {
data.frame(id = basename(tools::file_path_sans_ext(X)),
fread(X))},mc.cores = 32))
Run Code Online (Sandbox Code Playgroud)
我正在使用R,因为我的下游处理如创建图等在R中.我有两个问题:
1.有没有办法让我的代码更有效/更快?我知道最后预期的行数,所以如果我预先分配数据帧会有帮助吗?
2.我应该如何保存(以什么格式)这个庞大的数据 - 如.RData或数据库或其他什么?
作为附加信息:我有三种类型的文件,我希望这样做.它们看起来像这样:
[centos@ip data]$ head C021_0011_001786_tumor_RNASeq.abundance.tsv
target_id length eff_length est_counts …Run Code Online (Sandbox Code Playgroud) 我创建了一个 R 闪亮的应用程序,它在我的机器上完美运行。它也在 Shinyapps.io 服务器上成功部署。但是,当我尝试单击其中一个按钮来执行任务时,屏幕会变灰(挂起)。当我在本地运行我的应用程序时,完成了相同的任务。我看不到错误在哪里,因为它在我的本地机器上成功运行。有什么想法可以调试吗?
这是我的应用程序的日志:
2015-07-07T21:52:53.949714+00:00 shinyapps[50164]:
2015-07-07T21:52:53.950026+00:00 shinyapps[50164]:
2015-07-07T21:52:53.839040+00:00 shinyapps[50164]: The following object is masked from ‘package:stats’:
2015-07-07T21:52:53.949719+00:00 shinyapps[50164]:
2015-07-07T21:52:53.960914+00:00 shinyapps[50164]: isNamespaceLoaded
2015-07-07T21:52:53.949718+00:00 shinyapps[50164]: Attaching package: ‘pkgmaker’
2015-07-07T21:52:53.960916+00:00 shinyapps[50164]:
2015-07-07T21:52:53.950023+00:00 shinyapps[50164]: The following object is masked from ‘package:S4Vectors’:
2015-07-07T21:52:54.666591+00:00 shinyapps[50164]: NMF - BioConductor layer [OK] | Shared memory capabilities [NO: bigmemory] | Cores 15/16
2015-07-07T21:52:54.666968+00:00 shinyapps[50164]: To enable shared memory capabilities, try: install.extras('
2015-07-07T21:52:54.666971+00:00 shinyapps[50164]: NMF
2015-07-07T21:52:54.666973+00:00 shinyapps[50164]: ')
2015-07-07T21:52:54.672080+00:00 shinyapps[50164]:
2015-07-07T21:52:54.672084+00:00 shinyapps[50164]:
2015-07-07T21:52:54.672634+00:00 shinyapps[50164]: The following object …Run Code Online (Sandbox Code Playgroud)