草庐IT

c++ - 在 Ubuntu 上的 R 2.10 中安装 Rcpp

我试图在Ubuntu10.04上安装Rcpp并收到此错误(这意味着它不存在):>install.packages("Rcpp")Warningininstall.packages("Rcpp"):argument'lib'ismissing:using'/home/vadmin/R/i486-pc-linux-gnu-library/2.10'Warningmessage:IngetDependencies(pkgs,dependencies,available,lib):package‘Rcpp’isnotavailable我有一个可用的R实例并安装了许多其他包。编辑现在在关闭svn

c++ - 了解通过 RInside 将 Armadillo 矩阵传递给 R 函数

我正在尝试通过RInside在C++中使用R。我无法将Armadillo矩阵传递给R并返回结果。下面我能够从R库函数返回结果,但是我得到了错误的结果。我使用moments包中的偏度函数作为示例,它在R中应该正常工作。我检查了RInside中的示例,但我仍然不确定如何使用RcppArmadillo。如何正确地将C++中的Armadillo矩阵传递给R?#include#includeusingnamespacestd;usingnamespacearma;intmain(intargc,char*argv[]){RInsideR(argc,argv);stringR_libs="supp

在R中得出四个同等规模的垃圾箱

我定期教授大约160名学生的课程。我需要尽可能有效地将分级论文退还给学生。我将纸张分成一组四个大约均匀的垃圾箱。我通常使用房间的四个角来做到这一点。每个角落一个垃圾箱,以减少交通问题,因此将论文迅速恢复。问题在于知道如何尽可能等效地拆分垃圾箱。这有所不同,因为姓氏的首字母的分布是1),而不是整个字母内的均匀,而2),经验分布从学期到学期略有变化。一个学期的一组垃圾箱可能是A-D,E-H,I-K和L-Z,但开始和终点可能会改变(当然,除了在最后一个学期的第一个垃圾箱和Z中的A外)。请注意,例如,BinA-D将包括具有“A”,“B”,“C”和“D”的姓氏的首字母的学生。不允许将字母移出序列。有人对

c++ - 无法使用 Armadillo 示例编译 rinside

我正在尝试使用Rinside编译Rarmadillo示例,但我不断得到:Infileincludedfromrinside_arma0.cpp:8:0:/usr/local64/opt/R-2.15.2/lib/R/library/RcppArmadillo/include/RcppArmadillo.h:26:6:error:#error"Thefile'Rcpp.h'shouldnotbeincluded.Pleasecorrecttoincludeonly'RcppArmadillo.h'."我用谷歌搜索了它,但我一直在获取源代码本身。有什么想法吗?代码是://-*-c-inde

c++ - R:指向c函数的指针

如何将指向函数的指针从C代码传递到R(使用外部R)并在从R调用该函数之后?类似于:C:typedefvoid(*FunctionPtr)();SEXPans;PROTECT(ans=/*?somecode?*/);R_tryEval(ans,R_GlobalEnv,NULL);UNPROTECT(1);回复:callback_function()编辑:@RomainFrancois的帖子很有帮助。我的应用代码:namespace{voidcallback(){std::coutR和Rcppscript.R###################sourceCpp("utils.cpp")

用R语言计算数据框(dataframe)中所有数据列的平均值:将数据框转换为矩阵或向量后再计算

用R语言计算数据框(dataframe)中所有数据列的平均值:将数据框转换为矩阵或向量后再计算计算数据集中各列的平均值是数据分析中常见的任务之一。在R语言中,我们可以使用矩阵或向量来进行这样的计算。本文将介绍如何将数据框转换为矩阵或向量,并计算其各列的平均值。首先,让我们创建一个示例数据框来演示这个过程。假设我们有一个包含三列的数据框,每列有五个观测值。#创建示例数据框df现在我们有了一个名为df的数据框,其中包含了我们要计算平均值的数据。接下来,我们将使用两种方法来计算各列的平均值。方法一:将数据框转换为矩阵首先,我们可以将数据框转换为矩阵,然后使用apply()函数计算每列的平均值。#将数

R中列表元素的懒惰评估

有没有办法懒惰地加载列表的元素?我有一个大数据列表。每个列表都需要很长时间才能生成和加载。通常,我不会在会话期间使用所有data.frames,因此希望它们在我使用时会生成和加载。我知道我可以使用delayedAssign要创建懒惰的变量,但这不能应用于列表元素。以下是不起作用的可再现示例:一些需要一段时间才能生成数据的功能。slow_fun_1方法1my_list方法2my_list_2看答案这是一种可能的解决方案。这不是懒惰的评估。但是它在需要时计算数据。帧(然后加缓存,因此仅第一次进行计算)。您可以使用软件包memoise为达到这个。例如slow_fun_1并注意my_list$df_1

JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is

JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokens;nestedexceptioniscom.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokensat[Source:(org.springframework.util.Strea

c++ - 为什么标准 R 中值函数比简单的 C++ 替代函数慢得多?

我在C++中实现了以下中位数,并通过Rcpp在R中使用它://[[Rcpp::export]]doublemedian2(std::vectorx){doublemedian;size_tsize=x.size();sort(x.begin(),x.end());if(size%2==0){median=(x[size/2-1]+x[size/2])/2.0;}else{median=x[size/2];}returnmedian;}如果我随后将性能与标准内置R中值函数进行比较,我将通过microbenchmark获得以下结果>x=rnorm(100)>microbenchmark(m

c++ - 具有负大小的 Google Mock testing::internal::ReturnAction<R> 数组

我有测试代码可以做类似的事情EXPECT_CALL(mock,getSomeString()).WillOnce(Return(&testString));其中getSomeString()通过引用返回:std:string&getSomeString();得到../../../../src/test/unit/gmock/gmock-actions.h:Inmemberfunction‘testing::internal::ReturnAction::operatortesting::Action()const[withF=conststd::string&(),R=std::bas