小编cde*_*man的帖子

R Shiny:下载现有文件

假设out.zip我的闪亮应用程序中有一个现有的zip文件()(即位于服务器上).我想让用户能够下载此文件.这个问题很相似,这一个.但是,该问题会downloadHandler压缩文件,而zip文件已存在于我的情况下.

library(shiny)

app <- list(
  ui = fluidPage(
    titlePanel(""),
    sidebarLayout(
      sidebarPanel(
        downloadButton("downloadData", label = "Download")
      ),
      mainPanel(h6("Sample download", align = "center"))
    )
  ),

  server = function(input, output) {  
    output$downloadData <- downloadHandler(
      filename <- function() {
        paste("output", "zip", sep=".")
      },

      content <- function(file) {
        # not sure what to put here???
      },
      contentType = "application/zip"
    )
  }
)

shiny::runApp(app)
Run Code Online (Sandbox Code Playgroud)

r shiny

29
推荐指数
2
解决办法
9007
查看次数

R xlsx包错误

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  java.util.zip.ZipException: invalid code -- missing end-of-block
Run Code Online (Sandbox Code Playgroud)

当您尝试使用时,是否有任何人有此错误

dat <- read.xlsx("data.xlsx", sheetIndex=1, colIndex=colIndex, rowIndex=rowIndex)?
Run Code Online (Sandbox Code Playgroud)

java r

20
推荐指数
2
解决办法
2万
查看次数

Visual Studio社区2017 cl.exe

我正在研究在Windows系统上编译一些CUDA内核.根据我的理解,nvcc编译器需要使用cl.exe在Windows系统上进行编译.获得此功能的主要方法是使用Visual Studio.因此我安装了免费社区版.之后我预计会有bin目录在VC目录中,如多个其他问题所示,例如这一个这个.然而,我需要更深入地找几层

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe
Run Code Online (Sandbox Code Playgroud)

此特定项目旨在生成可在多个不同Windows系统上编译和使用的程序.我真的需要期望该cl.exe文件是嵌套的还是我错过了某种安装步骤?我期待更短的路径:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin\
Run Code Online (Sandbox Code Playgroud)

最终,我需要尽可能简单的方式让用户能够让他们的环境找到cl.exe文件.通常,这涉及(在最高级别)设置环境变量.

visual-studio

19
推荐指数
2
解决办法
3万
查看次数

GPU包的持续集成服务?

持续集成服务非常适合持续测试各种语言包的更新.其中包括Travis-CI,JenkinsShippable等服务.但是,正如我已经探索过这些不同的服务,我还没有找到一个提到支持利用GPU(NVIDIA,AMD或其他)的软件的服务.有谁知道是否存在任何此类服务?

我意识到这不是一个严格的编程问题,但我搜索了这个网站和其他论坛,但无法找到答案.也许当前没有这样的服务存在,但我确信这些信息对GPU程序员(CUDA和OpenCL等)都很有价值.

continuous-integration gpgpu

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

从Matrix包导入S4功能

矩阵包定义用于相乘的矩阵,即由S4通用功能分派一大堆S4方法%*%,crossprodtcrossprod.

如何导入"%*%"方法,以便在我自己的包中使用?我跑的时候这段代码失败了devtools::document():

#' @title my function
#'
#' @description Does magic Matrix stuff
#' @import methods
#' @importFrom Matrix "%*%" Diagonal
myfun <- function(x, y){
  x %*% Diagonal(x=y)
}
Run Code Online (Sandbox Code Playgroud)

如果x是稀疏矩阵,我想确保此函数使用Matrix包中的稀疏矩阵乘法方法.但是当我运行时,devtools::document()我收到以下错误:

Updating mypackage documentation
Loading mypackage
Error: object ‘%*%’ is not exported by 'namespace:Matrix'
Run Code Online (Sandbox Code Playgroud)

r package sparse-matrix s4 roxygen2

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

旧版NVIDIA驱动程序的CUDA工具包版本

我已经提供了一个较旧的NVIDIA显卡(GeForce 8400 GS)来开始探索一些GPU计算.我已经尝试成功完成安装,但偶然发现了一个问题.这是我的步骤(在Ubuntu 14.04上)

sudo apt-get install nvidia-current (在我的情况下安装nvidia-304)

重新启动后,快速查询显示我的内核确实成功使用了nvidia

lspci -vnn | grep -i VGA -A 12

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 8400 GS Rev. 3] [10de:10c3] (rev a2) (prog-if 00 [VGA controller])
...
Kernel driver in use: nvidia
Run Code Online (Sandbox Code Playgroud)

当然,我以为我可以安装cuda:

sudo apt-get install cuda
Run Code Online (Sandbox Code Playgroud)

但是这会尝试在我的系统上安装nvidia-346,导致我的系统不再显示我的桌面并且安装不正确.我已经nvidia-346通过专门安装它来验证这是问题而不是nvidia-current.在Linux入门手册说我应该只需要使用apt-get安装CUDA,但我需要为我的显卡的旧驱动程序.

如何安装CUDA以使用我的旧版nvidia驱动程序正常工作,以便进行一些GPU计算?是否有一个列表列出了每个NVIDIA驱动程序的CUDA工具包?我怀疑我需要一个较旧的工具包,我只是不知道哪一个.

cuda nvidia

13
推荐指数
2
解决办法
2万
查看次数

如何将Ensembl ID转换为R中的基因符号?

我有一个包含Ensembl ID的data.frame在一列中; 我想为该列的值找到相应的基因符号,并将它们添加到我的数据框中的新列.我使用bioMaRt但它找不到任何Ensembl ID!

这是我的示例数据(df[1:2,]):

row.names organism    gene
41  Homo-Sapiens ENSP00000335357
115 Homo-Sapiens ENSP00000227378
Run Code Online (Sandbox Code Playgroud)

我希望得到这样的东西

row.names organism    gene         id
41  Homo-Sapiens ENSP00000335357   CDKN3
115 Homo-Sapiens ENSP00000227378   HSPA8
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

library('biomaRt')
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
genes <- df$genes
df$id <- NA
G_list <- getBM(filters= "ensembl_gene_id", attributes= c("ensembl_gene_id",
"entrezgene", "description"),values=genes,mart= mart)
Run Code Online (Sandbox Code Playgroud)

然后,当我检查G_list时,我得到了这个

[1] ensembl_gene_id entrezgene      description  <0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

所以我无法将G_list添加到我的df中!因为没有什么可补充的!

提前致谢,

r bioinformatics bioconductor dataframe

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

clBLAS和ViennaCL之间的差异?

看看OpenCL库,我试图完全掌握每一个.一个库特别是clBLAS.他们的网站声称它实施了BLAS 1,2和3级方法.这很好但是ViennaCL还有BLAS例程,线性代数求解器,支持OpenCL和CUDA后端,并且只是标题.在我看来,目前似乎没有理由使用clBLAS而不是ViennaCL,但我想知道是否有人有理由为什么会使用clBLAS而不是ViennaCL

虽然类似,但这是比较VexCL,Thrust和Boost.Compute的前一个问题的扩展.

gpgpu opencl viennacl

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

R - 用于自定义类列表的'unlist'方法

我有一些自定义类,例如:

setClass("foo", slots = c(mat = "matrix"))
Run Code Online (Sandbox Code Playgroud)

我想处理一个foo对象列表是如何"不公开"的.

mat <- matrix(rnorm(16), 4)
foo <- new("foo", mat = mat)
unlist(list(foo))
Run Code Online (Sandbox Code Playgroud)

我想也许创建方法c(我认为使用但可能不正确)并unlist解决问题.

S3版

#' @export
unlist <- function(x, ...) UseMethod("unlist", x)

#' @export
unlist.default <- base::unlist
#' @method unlist foo
#' @export
unlist.foo <- function(x, ...){
  print("called foo unlist")
}
Run Code Online (Sandbox Code Playgroud)

S4版

#' @export
setMethod("unlist",
          signature = "foo",
          function(x, recursive = TRUE, use.names = TRUE){
            print("call foo unlist")
          })
Run Code Online (Sandbox Code Playgroud)

c 功能

#' @export
setMethod("c", 
          signature = "foo", …
Run Code Online (Sandbox Code Playgroud)

r

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

带有"缺失"参数的"["的S4文档

这个问题与这个问题非常相似,但是当我尝试答案时,我会收到一个附加的"注意" R CMD check.虽然它只是一个NOTE我真的想要一个完全干净的检查.

* checking Rd line widths ... NOTE
Error: 8: no comma in argument list following \S4method
Execution halted
Run Code Online (Sandbox Code Playgroud)

如果我传递所有其他参数(i,j,drop)并记录所有参数但我不使用它,我可以摆脱这个.在我看来,如果在这种情况下不相关的情况下添加额外的文档将是一种浪费.

#' An S4 class that stores a list.
#' @export
setClass("testClass", 
                 representation(a="list"))

#' Extract parts of testClass.
#' @param x testClass
#'
setMethod("[", signature(x = "testClass"),
            function (x){
                print("void function")
            }
)
Run Code Online (Sandbox Code Playgroud)

Rd文件导致错误:

% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/test.R
\docType{methods} …
Run Code Online (Sandbox Code Playgroud)

r s4 roxygen2

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