小编car*_*985的帖子

怎么正确使用Rcpp :: pt()

我正在阅读"使用Rcpp进行无缝R和C++集成"的第4章,我遇到了一些问题.

在"列表4.13"中,本书给出了一个关于如何使用R函数的例子.我尝试使用其他函数(不同的例子)并且我获得了成功.我的代码在这里:

#include <Rcpp.h>

// [[Rcpp::export]]
Rcpp::DataFrame myrandom(Rcpp::NumericVector x) {
  int n = x.size();
  Rcpp::NumericVector y1(n), y2(n), y3(n);

  y1 = Rcpp::pexp(x,1.0,1,0);
  y2 = Rcpp::pnorm(x,0.0,1.0,1,0);
  y3 = Rcpp::ppois(x,3.0,1,0);

  return Rcpp::DataFrame::create(Rcpp::Named("Exp") = y1,Rcpp::Named("Norm") = y2, Rcpp::Named("Pois") = y3);
}


sourceCpp("random.cpp")
myrandom(c(0.5,1))
Run Code Online (Sandbox Code Playgroud)

在这种情况下还可以,但是当我尝试使用Rcpp :: pt时,我没有成功.我的代码在这里.

#include <Rcpp.h>

// [[Rcpp::export]]
Rcpp::DataFrame myrandom2(Rcpp::NumericVector x) {
  int n = x.size();
  Rcpp::NumericVector y1(n);

  y1 = Rcpp::pt(x,3.0,0,1,0);

  return Rcpp::DataFrame::create(Rcpp::Named("T") = y1);
}

sourceCpp("random2.cpp")
myrandom2(c(0.5,1))

/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include/Rcpp/stats/nt.h: In function ‘Rcpp::stats::P2<RTYPE, NA, T> Rcpp::pt(const Rcpp::VectorBase<RTYPE, NA, VECTOR>&, double, double, …
Run Code Online (Sandbox Code Playgroud)

c++ r rcpp

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

rcpp 代码示例 cppFunction

我正在尝试运行“与 Rcpp 进行无缝 R 和 C++ 集成”的代码(第 32 页,清单 2.10),但它给出了错误。有人可以向我解释为什么不起作用吗?谢谢

Code <- ' 
#include <gsL/gsl_const_mksa.h>           // decl of constants 
std::vector<double> volumes() { 
std::vector<double> v(5); 
v[0] = GSL_CONST_MKSA_US_GALLON;       // 1 US gallon 
v[1] = GSL_CONST_MKSA_CANADIAN_GALLON; // 1 Canadian gallon 
v[2] = GSL_CONST_MKSA_UK_GALLON;       // 1 UK gallon 
v[3] = GSL_CONST_MKSA_QUART;           // 1 quart 
v[4] = GSL_CONST_MKSA_PINT;            // 1 pint 
return v; 
}' 

gslVolumes <- cppFunction(code, depends="RcppGSL") 
Run Code Online (Sandbox Code Playgroud)

这是消息错误:

file16e2b6cb966.cpp: In function ‘SEXPREC* sourceCpp_52966_volumes()’: 
file16e2b6cb966.cpp:30: error: ‘__result’ was not declared in this scope 
make: …
Run Code Online (Sandbox Code Playgroud)

c++ r rcpp

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

为什么我在Julia中为这些简单的操作得到错误的结果?

我已经开始使用Julia语言,但即使是基本的操作,我也很惊讶得到看似不正确的结果:

julia> 0.05*0.05
0.0025000000000000005
Run Code Online (Sandbox Code Playgroud)

julia> 1.0-0.85-0.1
0.05000000000000002
Run Code Online (Sandbox Code Playgroud)

怎么会这样?我该怎么做才能获得准确的结果?

floating-point julia

0
推荐指数
1
解决办法
172
查看次数

标签 统计

c++ ×2

r ×2

rcpp ×2

floating-point ×1

julia ×1