小编And*_*rin的帖子

如何在R-package中正确包含依赖项?

我现在正在尝试用几个小时在R中构建一个包,并且对我进展缓慢有点绝望.我很快就建立了一个没有依赖的包,一切正常.由于几个帖子中的建议,我使用R Studio,devtools和Roxygen2(在Windows上).使用依赖项时,我在检查时遇到问题(例如使用devtools :: check()):

检查R代码中的依赖关系...注意Imports字段中的命名空间不从以下位置导入:'ggplot2'应使用所有声明的Imports.请参阅"Writing R Extensions"手册"创建R包"一章中有关DESCRIPTION文件的信息.

此外,check()删除import(ggplot2)NAMESPACE中的行.如果我检查(文档= F),它会给出一个digest未加载的包的隐秘错误.我读了'编写R扩展' - 1.1.3包依赖关系和Hadley的Wiki关于如何编写包,但无法解决我的问题.来自CRAN的其他R包的描述和NAMESPACE文件看起来与我的不同(对我而言)?

问题:我做错了什么?对于这样一个基本问题感到抱歉,但是在解释依赖关系之前,我到目前为止看到的大部分分步教程都让我感到茫然.

到目前为止,我有3个文件:
A说明:

Package: test
Type: Package
Title: Foo
Version: 1.0
Date: 2014-03-21
Author: Bar
Maintainer: Foo <bar@mail.com>
Description: Blubb
Imports:
    ggplot2
License: GPL-3
Run Code Online (Sandbox Code Playgroud)

一个NAMESPACE:

export(is.equal.null)
import(ggplot2)
Run Code Online (Sandbox Code Playgroud)

一个R文件:

#' Extension of compare to include NULLs
#'
#' Works as an extension to usual compare
#' Compares two basic objects which in addition to usual compare can be NULL
#' Intuitive output: TRUE if both …
Run Code Online (Sandbox Code Playgroud)

dependencies r package

14
推荐指数
1
解决办法
7197
查看次数

为什么C++共享指针的行为不像迭代器的标准指针?

我要用C++制作一个随机数生成器,为了避免复制太大的向量,我想把指针传递给它们.我不想自己处理垃圾收集.这就是为什么我想使用shared_ptr(我可能会补充说我是一个新手,所以也许我的方法是笨拙的/不适合这个问题.).现在我想搜索向量,但分别有一个奇怪的行为:shared_ptr和shared_ptr.get():要么找不到合适的解决方案(参见代码片段),要么他们甚至抛出一个

MonteCarlo.exe中0x0131F5DA的第一次机会异常:0xC0000005:访问冲突读取位置0x00000008.

在其他情况下.我看到该位置接近于0(=空指针),但为什么呢?

使用标准指针可以得到正确的结果.这是我的代码片段:

    #include <typeinfo>
#include <algorithm> 
#include <vector>
#include <memory>
using namespace std;

int j = 3;    
vector< int > v;  
v.push_back(1);  
v.push_back(3);  
v.push_back(5);
vector< int >* v_pointer = &v;
shared_ptr<vector< int >> v_shared = make_shared<vector<int>>();
vector< int >* v_pointer_from_shared = v_shared.get();

// printing types of objects
cout << typeid(v.begin()).name() << endl;
cout <<  typeid(v_pointer->begin()).name() << endl; 
cout << typeid(v_shared->begin()).name() << endl;

// do search
if (binary_search(v.begin(), v.end(), j)) cout << "yeah" << endl;
if (binary_search(v_pointer->begin(), v_pointer->end(), j)) …
Run Code Online (Sandbox Code Playgroud)

c++ pointers vector binary-search shared-ptr

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

从Scala注册UDF到SqlContext以在PySpark中使用

是否可以注册用Scala编写的UDF(或函数)在PySpark中使用?例如:

val mytable = sc.parallelize(1 to 2).toDF("spam")
mytable.registerTempTable("mytable")
def addOne(m: Integer): Integer = m + 1
// Spam: 1, 2
Run Code Online (Sandbox Code Playgroud)

在Scala中,现在可以使用以下内容:

val UDFaddOne = sqlContext.udf.register("UDFaddOne", addOne _)
val mybiggertable = mytable.withColumn("moreSpam", UDFaddOne(mytable("spam")))
// Spam: 1, 2
// moreSpam: 2, 3
Run Code Online (Sandbox Code Playgroud)

我想在PySpark中使用"UDFaddOne"

%pyspark

mytable = sqlContext.table("mytable")
UDFaddOne = sqlContext.udf("UDFaddOne") # does not work
mybiggertable = mytable.withColumn("+1", UDFaddOne(mytable("spam"))) # does not work
Run Code Online (Sandbox Code Playgroud)

背景:我们是一个开发人员团队,一些用Scala编写,一些用Python编写,并且想分享已编写的函数.也可以将其保存到库中并导入它.

scala user-defined-functions apache-spark pyspark apache-zeppelin

5
推荐指数
2
解决办法
2972
查看次数

在哪里在makefile中添加-lm标志?

我正在尝试编译一个名为COSI的模拟程序:http ://www.broadinstitute.org/~sfs/cosi/cosi_1.2.1.tar

解压缩后tar xfp cosi_package.tar,我尝试make按照自述文件中所述在新创建的目录中运行cosi_1.2。不幸的是,我遇到很多错误,例如

coalescent.a(historical.o): In function `historical_process_pop_event':
historical.c:(.text+0x5c7): undefined reference to `log'
coalescent.a(historical.o): In function `historical_next_exp':
historical.c:(.text+0x76a): undefined reference to `exp'
../cosi_rand/random.a(ranbinom.o):ranbinom.c:(.text+0x702): more undefined references to `log' follow
collect2: ld returned 1 exit status
make[1]: *** [coalescent] Error 1
make[1]: Leaving directory `/home/myname/Desktop/cosi_1.2/cosi'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

有问题的子目录中的MAKEFILE如下所示:

PACKAGE := coalescent
BINFILES := coalescent.c
SKIPFILES := 
ARFILE := $(PACKAGE).a
BINS := $(BINFILES:.c=)
PREFILES := $(wildcard *.c)
CFILES := $(filter-out $(SKIPFILES),$(PREFILES)) …
Run Code Online (Sandbox Code Playgroud)

c gcc compiler-errors makefile

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