假设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) 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) 我正在研究在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文件.通常,这涉及(在最高级别)设置环境变量.
该矩阵包定义用于相乘的矩阵,即由S4通用功能分派一大堆S4方法%*%,crossprod和tcrossprod.
如何导入"%*%"方法,以便在我自己的包中使用?我跑的时候这段代码失败了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) 我已经提供了一个较旧的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工具包?我怀疑我需要一个较旧的工具包,我只是不知道哪一个.
我有一个包含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中!因为没有什么可补充的!
提前致谢,
我有一些自定义类,例如:
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 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)