小编Ott*_*met的帖子

julia:如何读取 bz2 压缩文本文件

在 R 中,我可以将整个压缩文本文件读入字符向量,如下所示

readLines("file.txt.bz2")
Run Code Online (Sandbox Code Playgroud)

readLines透明地解压缩 .gz 和 .bz2 文件,但也适用于非压缩文件。朱莉娅有类似的东西吗?我可以

text = open(f -> read(f, String), "file.txt")
Run Code Online (Sandbox Code Playgroud)

但这无法打开压缩文件。读取 bzip2 文件的首选方式是什么?有没有什么方法(除了手动检查文件扩展名)可以自动推断压缩格式?

julia compressed-files

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

如何在R pkg描述文件中确认原作者

我正在改进一个主要基于polr(MASS库)中的Venables和Ripley代码的包(intReg).是否有任何标准的好方法来承认原始代码的作者(其大块仍在我的代码中)?

目前我有:

作者:Ott Toomet [aut,cre],使用WASS Venables和BD Ripley的MASS代码

但是还有更标准的配方吗?

作为旁注:我不认为存在任何版权问题,因为两个包都是GPL> = 2.

r

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

Rcpp:如何将复数从R传递到cpp

我想使用Rcpp将复数从R传递到我的cpp代码。我尝试类似地传递复数,因为可以传递双精度和整数:

#include <complex>
#include <Rcpp.h>

using namespace Rcpp;

RcppExport SEXP mandelC(SEXP s_c) {
    std::complex<double> c = ComplexVector(s_c)[0];
}
Run Code Online (Sandbox Code Playgroud)

但是,该代码无法编译,并抱怨:

g++ -I/usr/share/R/include -DNDEBUG -I/usr/share/R/include -fopenmp  -I/home/siim/lib/R/Rcpp/include     -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c a.cpp -o a.o
a.cpp: In function ‘SEXPREC* mandelC(SEXP)’:
a.cpp:7:50: error: conversion from ‘Rcpp::traits::storage_type<15>::type {aka Rcomplex}’ to non-scalar type ‘std::complex<double>’ requested
std::complex<double> c = ComplexVector(s_c)[0];
                                              ^
Run Code Online (Sandbox Code Playgroud)

显然,我做错了事,但是我一直找不到任何例子。任何人都可以指出我正确的路径吗?

c++ r complex-numbers rcpp

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

如何找到用于编译R的编译器

有没有一种简单的方法可以找出用于编译R的编译器?就像是

$ R CMD which_compiler_was_used
GCC
Run Code Online (Sandbox Code Playgroud)

或者来自R的内部

> Sys.compiler()
[1] "GCC"
Run Code Online (Sandbox Code Playgroud)

我知道R CMD SHLIB不知怎的做了魔法......

r

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

如何在R中提取1x1数组切片作为矩阵?

我正在使用3D数组.函数从用户获取2D数组切片(矩阵)并使用行和列名称(数组的相应dimnames)将其可视化.如果数组维度> 1,它可以正常工作.

但是,如果我有1x1x1数组,我无法将切片提取为矩阵:

a <- array(1, c(1,1,1), list(A="a", B="b", C="c"))

a[1,,]
[1] 1
Run Code Online (Sandbox Code Playgroud)

它是一个没有dimnames的标量,因此缺少部分必要信息.如果我添加drop=FALSE,我没有得到矩阵但保留原始数组:

a[1,,,drop=FALSE]
, , C = c

   B
A   b
  a 1
Run Code Online (Sandbox Code Playgroud)

这些名字在这里,但它仍然是三维的.有没有一种简单的方法可以从1x1x1数组获得一个看起来像上面的矩阵切片,只是没有第三个维度:

   B
A   b
  a 1
Run Code Online (Sandbox Code Playgroud)

我怀疑问题在于索引数组时,如果'all'只是一个单例,我们就无法区分'take 1 value'和'take all values'...

arrays indexing r matrix

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

标签 统计

r ×4

arrays ×1

c++ ×1

complex-numbers ×1

compressed-files ×1

indexing ×1

julia ×1

matrix ×1

rcpp ×1