我写了一个R包,它住在这里并包含一个小插图,旨在引导用户了解包装背后的基本原理以及如何最好地使用它.
不幸的是,在尝试构建源代码或二进制包时,晕影构造失败并出现以下错误:
* creating vignettes ... ERROR
Error: processing vignette 'session reconstruction.Rmd' failed with diagnostics:
Failed to locate the ‘weave’ output file (by engine ‘knitr::rmarkdown’) for vignette with name ‘session reconstruction’. The following files exist in directory ‘.’: ‘session reconstruction.Rmd’, ‘session_clusters.png’, ‘session_reconstruction.html’
Execution halted
Error: Command failed (1)
Execution halted
Exited with status 1.
Run Code Online (Sandbox Code Playgroud)
我正在构建的机器上的版本信息:
> R.Version()
$platform
[1] "x86_64-pc-linux-gnu"
$arch
[1] "x86_64"
$os
[1] "linux-gnu"
$system
[1] "x86_64, linux-gnu"
$status
[1] ""
$major …Run Code Online (Sandbox Code Playgroud) 我遇到过几次问题:我在db1中有一个表table1.我在db2中有table2.我如何加入两者之间?
显而易见的事情是这样的:
SELECT *
FROM db1.table1 INNER JOIN db2.table2
ON db1.table1.field1 = db2.table2.field2;
Run Code Online (Sandbox Code Playgroud)
然而,Hive并不喜欢这样; 它开始将"table1"和"table2"视为列名,将"db1"和"db2"视为表名,并在它们不存在时进行抱怨.如何在不同数据库中的两个表之间进行连接?
可能是一个愚蠢的问题,但我已经寻找答案而无法找到答案:
我正在尝试编写一个文件阅读器,一个fread或者read.delim用C++实现,并通过Rcpp连接到R. 执行此操作并使其输出data.frame的最简单方法是生成一个List向量 - 每列一个 - 并将类设置为data.frame
List foo;
foo.push_back(column);
foo.attr("class") = "data.frame";
return foo;
Run Code Online (Sandbox Code Playgroud)
很简单,我以前做过.不幸:
所以,答案是能够定义foo然后,对于我读入的每一行,push_back()一个字段到foo的每个底层向量:
List foo(1);
foo[0].push_back("turnip");
Run Code Online (Sandbox Code Playgroud)
不幸的是我无法解决如何做到这一点:看起来List的成员向量不能被push_back(),因为这会导致错误"Rcpp :: Vector <19> :: Proxy没有成员命名推回()"
所以,我的问题是:有没有办法在Rcpp列表中附加一个向量?或者是我唯一的选择,逐列读取文件,将生成的向量追加到"foo",并咬掉由于必须迭代[列数]次而不是一次而导致的性能成本?
希望这个问题足够清楚.很高兴回答任何问题.