小编Liz*_*der的帖子

二进制numpy数组到整数列表?

我有一个二进制数组,我想将它转换为整数列表,其中每个int是数组的一行.

例如:

from numpy import *
a = array([[1, 1, 0, 0], [0, 1, 0, 0], [0, 1, 1, 1], [1, 1, 1, 1]])
Run Code Online (Sandbox Code Playgroud)

我想转换a[12, 4, 7, 15].

python binary numpy

9
推荐指数
2
解决办法
6912
查看次数

将函数的输出分配给R中的两个变量

可能重复:
具有多个输出的功能

这似乎是一个简单的问题,但我无法弄清楚,而且我所看过的R手册也没有运气。我想找到dim(x)的,但我想分配dim(x)[1]adim(x)[2]b在一行。

我尝试了[a b] <- dim(x)c(a, b) <- dim(x),但都没有成功。有没有一种方法可以做到这一点?看起来很简单,应该很容易处理。

r

6
推荐指数
1
解决办法
7615
查看次数

在 R 中写入二进制数据

我正在尝试编写 HTTP POST 请求,但我需要首先将数据转换为二进制格式。这可能是一个简单的问题,但我发现 R 连接确实令人困惑,而且我一直很难找到一个好的资源来以我理解的方式解释它们。

举个例子,假设我想编码一个整数(8 字节),然后编码一个数字(4 字节)。这是我尝试过的代码:

myint <- as.integer(1339700942)
mydouble <- 1.2
obj <- file(open='w+b') #I've tried textConnection too, but no good
w.int <- writeBin(myint, obj, size=8, endian='big')
w.double <- writeBin(mydouble, obj, size=4, endian='big')
Run Code Online (Sandbox Code Playgroud)

这允许我打开连接,但它只写了NULL. writeBin在这种情况下使用连接的正确方法是什么?

r binaryfiles

5
推荐指数
1
解决办法
1998
查看次数

链接到 .rd 文件中的 S4 方法?

我正在编写一个包含 S4 类的包,并且我已经为该类编写了as.POSIXct方法as.POSIXlt。我已经编写了文档,一切看起来都很好,除了我想引用as.POSIXct文档中的方法as.POSIXlt,反之亦然。我尝试过\S4method{coerce}{abc, POSIXct}(from, to)(其中“abc”是 S4 类),但这只应该放在该\usage部分中,这不是我想要的位置。有没有办法做到这一点?我觉得很奇怪,这是不允许的。

我意识到可以组合这些 .rd 文件并避免此问题,但我正在尝试尽可能多地了解 R 中的类和包,因此无论如何这对我很感兴趣。

以下是其中一个 .Rd 文件的框架:

\name{as.POSIXct-methods}
\docType{methods}
\alias{as.POSIXct-methods}
\alias{as.POSIXct,ANY-method}
\alias{as.POSIXct,abc-method}
\title{\code{abc} Method for Function \code{as.POSIXct}}
\description{
\code{as.POSIXct} method to coerce timestamps in \code{abc} objects into 
\code{POSIXct} format.
}
\section{Methods}{
\describe{
~~description here~~

\item{\code{signature(x = "ANY")}}{
default implementation (from base)
}

\item{\code{signature(x = "abc")}}{
implementation for \code{\link{abc}} objects. 
~~more description of function~~
See \code{\linkS4class{abc}} for more about abc objects. …
Run Code Online (Sandbox Code Playgroud)

r package generic-method r-s4

5
推荐指数
1
解决办法
329
查看次数

如何阻止 ggplot2 将矩阵旋转 90 度?

我正在尝试使用 ggplot2 创建一个热图,但我注意到当我绘制它时,它似乎将矩阵向左旋转 90 度。这很奇怪,使用coord_flip()t()不起作用,因为他们将其旋转到左侧,而不是右侧(因此,他们没有进行校正,而是创建了一个旋转 180 度的热图)。是否有任何选择或技巧可以防止这种情况发生?这是相关的代码:

#this is needed to run custHeat
zeroInterval <- function(mat, colors){
  #modified version of findInterval such that zero is given its own category
  #This function takes intervals as left exclusive, right inclusive.
  #This is mostly so that intervals consisting of a single value will still be represented.
  intervalMat <- matrix(0, nrow=nrow(mat), ncol=ncol(mat))
  j <- 1
  for(i in 1:(length(colors) - 1)){
    if(colors[i] != colors[i+1]){
      intervalMat[mat>colors[i] & mat<=colors[i+1]] <- j
      j <- …
Run Code Online (Sandbox Code Playgroud)

r heatmap ggplot2

5
推荐指数
1
解决办法
1068
查看次数

'show'是正常的S4泛型函数吗?

我正在尝试为我的类创建一个方法,该方法继承自data.frame.我本来希望只是从data.frame继承'show'方法,但我也可以编写自己的方法.我将我的类和'show'方法定义如下:

setClass("SCvec", representation(auth = "character",
    dev = "character",
    sensor = "character",
    channel = "character",
    starttime = "character",
    endtime = "character"),
    contains="data.frame")
setMethod("show", signature(x="SCvec"), function(x) print(x))
Run Code Online (Sandbox Code Playgroud)

当我输入showR控制台时,它会输出:

从包"方法"定义的"show"的standardGeneric

function (object) 
standardGeneric("show")
<bytecode: 0x0396bee8>
<environment: 0x0393ab60>
Methods may be defined for arguments: object
Use  showMethods("show")  for currently available ones.
(This generic function excludes non-simple inheritance; see ?setIs)
Run Code Online (Sandbox Code Playgroud)

所以看起来我不需要自己使用StandardGeneric()将它变成泛型.但是当我运行我的setMethod("show", signature(x="SCvec"), function(x) print(x))线路时,我得到了错误

Error in match.call(definition, call, expand.dots) : 
  unused argument(s) (x = c("SCvec", ""))
Run Code Online (Sandbox Code Playgroud)

我已经定义了这个方法,就像我定义任何其他方法一样.为什么这个方法定义不起作用?'show'与其他通用函数不同吗?

r show generic-function s4

4
推荐指数
1
解决办法
1524
查看次数

将POSIXct日期舍入到第二天

我有一个类似于圆形POSIX日期(POSIXct)和基本R功能的问题,但我希望始终将日期从第二天的午夜(00:00:00)开始.

基本上,我想要一个等效ceiling于POSIX格式日期的函数.与相关问题一样,我正在编写自己的包,并且我已经有几个包依赖项,所以我不想添加更多.在基地R有一个简单的方法吗?

r posixct

4
推荐指数
1
解决办法
2632
查看次数

Go如何对常量执行算术运算?

我一直在阅读关于Go中常量的这篇文章,我试图理解它们是如何在内存中存储和使用的.您可以在Go中对非常大的常量执行操作,只要结果适合内存,您就可以将结果强制转换为类型.例如,10正如您所期望的那样打印此代码:

const Huge = 1e1000
fmt.Println(Huge / 1e999)
Run Code Online (Sandbox Code Playgroud)

这是如何工作的?在某些时候,Go必须存储1e10001e999在内存中,以便对它们执行操作.那么常量如何存储,以及Go如何对它们进行算术运算?

const go

3
推荐指数
1
解决办法
459
查看次数

构建R包时的cygwin警告

我正在尝试使用Windows构建自己的包.我安装我需要的一切,以及运行R CMD build mypackageR CMD INSTALL mypackage看起来运行良好.但是当我运行build命令时,我收到来自cygwin的警告:

cygwin warning:
  MS-DOS style path detected: C:/Documents and Settings/e_sander/My Documents/mypackage_1.0.tar.gz
  Preferred POSIX equivalent is: /cygdrive/c/Documents and Settings/e_sander/My Documents/mypackage_1.0.tar.gz
  CYGWIN environment variable option "nodosfilewarning"turns off this warning. Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Run Code Online (Sandbox Code Playgroud)

我确实去了推荐的网站,但我对cygwin或linux了解不多,所以我不确定我有什么需要做的.我意识到使用MS-DOS样式路径已被弃用,不推荐在cygwin中使用,但我不知道如何更改它,因为我正在运行Windows,这就是我需要的路径.我也没有发现我的包有任何问题,至少当我把它安装到我的电脑上时(虽然我没有使用过tarball,但我打开它,一切看起来都很好).所以这就是我想弄清楚的:

  • 离开路径会以任何方式影响我的包裹吗?

  • 如果是这样,它怎么会对我的包裹产生不利影响?

  • 如何更改让cygwin开心的路径?

r package

2
推荐指数
1
解决办法
1438
查看次数