小编coa*_*ess的帖子

为什么message()比R中的print()更适合编写包?

我希望知道为什么message()print()打印诊断信息更好.

例如,print()函数是打印R对象的更好选择,例如'iris',message()当我们想要连接字符串时,它更好,例如message("a", "b")短于print(paste0("a", "b")).

但是,我认为与上面列出的简单差异相比,存在更多差异.我已经阅读了这两种方法的文档

但是,似乎它们并没有像我希望的那样提供信息.

如果有人告诉我们哪种情况message()比哪种情况更好print(),为什么我会感激.

r

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

理解R中Makevars文件的内容(宏,变量,〜/ .R/Makevars和pkg/src/Makevars)

我想了解在设置宏/变量的作用和关系,~/.R/Makevars以及package_directory/src/Makevars安装时/构建自己的R包.假设这些文件看起来像

〜/ .R/Makevars

CXX = g++
CXXSTD = -std=c++11
CXXFLAGS = -fsanitize=undefined,address -fno-omit-frame-pointer

CXX98 = g++
CXX98STD = -std=c++98

CXX11 = g++
CXX11STD = -std=c++11

CXX14 = g++
CXX14STD = -std=c++14
Run Code Online (Sandbox Code Playgroud)

package_directory/SRC/Makevars

PKG_CPPFLAGS = -I../inst/include
CXX_STD = CXX11
Run Code Online (Sandbox Code Playgroud)

据我所知,CXX我们可以在构建R包时为C++选择编译器,CXXSTD我们选择标准并CXXFLAGS添加编译器标志.随着PKG_CPPFLAGS我们为C++预处理器添加标志,CXX_STD我们告诉我们的包使用C++ 11.

我有以下问题:

  • 什么是之间的关系CXXCXX98,CXX11CXX14
  • 例如,CXX11STD = -std=c++11如果已经隐含了C++ 11,那意味着什么?是在选择-std=c++11-std=gnu++11?应该-std=gnu++11通常避免针对便携性的原因?
  • 是否可以添加标志CXXSTD,CXXFLAGS …

r rcpp

48
推荐指数
1
解决办法
1万
查看次数

R没有检测到Rtools

更新:

我写了一篇关于在Windows安装Rtools的简短演练指南.

原版的:

我试图在Windows 7上使用RStudio构建一个R包.当我尝试通过RStudio的Build面板构建包时,我收到:

WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

http://cran.rstudio.com/bin/windows/Rtools/
Run Code Online (Sandbox Code Playgroud)

加载library(devtools)和运行find_rtools(T)给出:

Scanning path...
ls : F:\Rtools\bin\ls.exe 
Scanning registry...
Found F:/Rtools for 3.1 
VERSION.txt
Rtools version 3.1.0.1936 
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

Path变量设置为:

F:\Rtools\bin;F:\Rtools\gcc-4.6.3\bin;F:\Rtools\perl\bin;F:\Rtools\MinGW\bin;F:\Program Files\R\R-3.0.2\bin\x64;F:\Program Files (x86)\HTML Help Workshop;F:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program …
Run Code Online (Sandbox Code Playgroud)

windows r rstudio

42
推荐指数
4
解决办法
5万
查看次数

Xamarin DependencyService:System.MissingMethodException:找不到[Interface]的默认构造函数

我在使用依赖服务时收到此错误Xamarin.Forms PCL.我已经看到了答案,这个错误涉及iOSLinker.但是,我正在运行此功能Android并且Linker已关闭.调试模式也是如此.

它告诉我的构造函数无法在PCL中找到接口的默认构造函数.

我认为这可能是我做过的一些重命名问题(我使用了重构工具并确保所有必要的更改都已完成)所以我删除了那些文件夹/文件并重新制作它们.依然没有 :(

我一直在搜索和调试这几个小时.有什么东西可能导致这个错误?我很确定我的DependencyService实现是正确的,所以我觉得它是不同的东西.

这是我的相关代码.

接口:

namespace Enchantum.Functions
{
public interface PaymentProcessor
{

    void setUpCard(String cardNumber,
        int expirationMonth,
        int expirationYear,
        String CVC);

    Task cardTokenizer();

    void backendCardCharge();

}
Run Code Online (Sandbox Code Playgroud)

安卓:

[assembly: Xamarin.Forms.Dependency(typeof(PaymentProcessor_Android))]

namespace Enchantum.Droid.Functions_Android
{
class PaymentProcessor_Android : PaymentProcessor
{
public PaymentProcessor_Android() { }

    private Card mCard;
    private Token mToken;

    public void setUpCard(String cardNumber, int expirationMonth,
        int expirationYear, String cvcCode)
    {
        Card card = new Card
        {
            Number …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection xamarin.android stripe.net xamarin.forms

19
推荐指数
3
解决办法
9162
查看次数

Scales ="free"适用于facet_wrap,但不适用于facet_grid

我试图理解为什么输出facet_grid()和输出facet_wrap()是不同的,即使输入是相同的:

facet_grid

ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_grid(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

facet_wrap

ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_wrap(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请参阅,该参数scales = "free"对于facet_grid()和没有相同的行为facet_wrap().有什么可以解释的?

r ggplot2 facet-wrap

18
推荐指数
1
解决办法
7813
查看次数

R:如何通过install_github()安装特定版本?

如果包的当前版本出现一些错误,则用户可能更愿意安装特定版本(例如版本1.0.1).可以用什么样的R代码来实现呢?

举例来说,发布最新的OhdsiRToolsR包:

https://github.com/OHDSI/OhdsiRTools/tree/v1.0.1

命令如下:

install_github("OHDSI/OhdsiRTools", ref = 'v1.0.1')
Run Code Online (Sandbox Code Playgroud)

上面的代码不正确.它仅适用于分支(例如,masterdevA).但该devtools软件包具有引用版本的功能.

理想情况下,我会通过标签引用发布(但提交ID的解决方案也可以).

EXTRA BONUS:什么代码可以安装"最新"版本.(但认为这是一个奖金问题.关于主要问题的问题)

r devtools

13
推荐指数
2
解决办法
4107
查看次数

雪,内联和Rcpp:

我编写了一个函数Rcpp并用它编译inline.现在,我想在不同的内核上并行运行它,但是我遇到了一个奇怪的错误.这里有一个小例子,其中功能funCPP1可以编译和运行本身很好,但不能被调用snowclusterCall函数.该函数作为单个进程运行良好,但在并行运行时会出现以下错误:

Error in checkForRemoteErrors(lapply(cl, recvResult)) : 
  2 nodes produced errors; first error: NULL value passed as symbol address
Run Code Online (Sandbox Code Playgroud)

以下是一些代码:

## Load and compile
library(inline)
library(Rcpp)
library(snow)
src1 <- '
     Rcpp::NumericMatrix xbem(xbe);
     int nrows = xbem.nrow();
     Rcpp::NumericVector gv(g);
     for (int i = 1; i < nrows; i++) {
      xbem(i,_) = xbem(i-1,_) * gv[0] + xbem(i,_);
     }
     return xbem;
'
funCPP1 <- cxxfunction(signature(xbe = "numeric", g="numeric"),body = src1, plugin="Rcpp")

## Single process …
Run Code Online (Sandbox Code Playgroud)

r rcpp snow

12
推荐指数
1
解决办法
2787
查看次数

让Dygraph.WEEKLY标记使用星期一作为R中的刻度

我正在使用dygraphs包绘制每周数据.dygraphs自动选择每周默认轴.但是,我希望有一种方法可以让默认轴(星期日)与我的数据(星期一)对齐.

# Required packages
library("magrittr")
library("dygraphs")
library("xts")

# Data
daily <- structure(c(4000, 5000, 3000, 7000, 2000, 5000, 7000, 
                   2000, 3000, 6000, 5000, 9000, 2000, 2000, 2000, 
                   7000, 9000, 2000, 1000, 13000), .Dim = c(10L, 2L), .Dimnames = list(
                     NULL, c("col1", "col2")), index = structure(c(1476032400, 
                                                                   1476637200, 1477242000, 1477846800, 1478451600, 1479056400, 1479661200, 
                                                                   1480266000, 1480870800, 1481475600), tzone = "Asia/Saigon", tclass = c("POSIXct", 
                                                                                                                                          "POSIXt")), class = c("xts", "zoo"), .indexCLASS = c("POSIXct", 
                                                                                                                                                                                               "POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "Asia/Saigon", tzone …
Run Code Online (Sandbox Code Playgroud)

javascript r dygraphs

10
推荐指数
1
解决办法
774
查看次数

cv :: Mat和arma :: mat之间的转换

我正在使用OpenCV,并且还希望从mlpack添加一些很酷的功能,这是使用Armadillo矩阵.

在cv :: Mat和arms :: mat之间有一种简单的方法吗?

谢谢!

opencv type-conversion armadillo mlpack

9
推荐指数
1
解决办法
3191
查看次数

R演示文稿(rpres)在全屏模式下变黑

每当我.Rpres在macOS上的最新RStudio(v0.99.902)下全屏播放文件时,每个幻灯片都会在介绍后显示黑色覆盖,但不会消失.

当窗口最小化时,我们有:

[窗口Rpres]

在全屏模式下(按f),从标题幻灯片切换到后续幻灯片会产生:

全屏错误

使用的代码:

Lecture 4: The Art of Life
====
author: 385
date: Today
autosize: true

On the Agenda
====

- Learn about functions
- Learn about other things..

> Only this text appears
Run Code Online (Sandbox Code Playgroud)

r rstudio rpres

8
推荐指数
1
解决办法
833
查看次数