小编Car*_*arl的帖子

在另一个类的构造函数中使用一个类作为参数

我读了这篇关于 Rcpp 中的类和模块的博客文章,我试图重新创建它,但我遇到了麻烦。

这是帖子中代码的缩写版本:

#include <Rcpp.h>
using namespace Rcpp;

class Point {
public:
  Point( double x_, double y_) : x(x_), y(y_){}
  
  double x, y ;
} ;


class Shape {
public: 
  Shape( const Point& center_ ) : center(center_){}
  
  Point center ;    
  
  virtual double area() const { return 0.0 ;}
  virtual bool contains(const Point& point) const { return false ; } 
} ;



RCPP_MODULE(play){
  
  class_<Point>("Point")
  .constructor<double,double>()
  .field( "x", &Point::x)
  .field( "y", &Point::y)
  ;
  class_<Shape>( "Shape" )
    .constructor<Point>()
    .method( "area", …
Run Code Online (Sandbox Code Playgroud)

r rcpp

4
推荐指数
1
解决办法
362
查看次数

dplyr:过滤data.frame中两列相等的过滤器

在基数R中,可以轻松过滤到两列等于的行,如下所示:

mtcars[mtcars$cyl==mtcars$carb,]
Run Code Online (Sandbox Code Playgroud)

使用dplyrfilter这种可以轻松完成

mtcars %>% filter(cyl==carb)
Run Code Online (Sandbox Code Playgroud)

但是,如果我正在使用此代码编写函数,我想使用filter_,但此代码不起作用

mtcars %>% filter_("cyl"=="carb")
Run Code Online (Sandbox Code Playgroud)

因为在这种情况下,它认为"碳水化合物"是要测试的值而不是变量.

我的问题是你如何filter_用来比较data.frame中的两个变量?

r dplyr

4
推荐指数
2
解决办法
4590
查看次数

将文本放置在左侧浮动的图像下方

我已成功将图像放在左侧,如下所示:

<div class="Carl1">
<a href="https://rads.stackoverflow.com/amzn/click/com/1940412145" rel="nofollow noreferrer" target="_blank"><img class="image-left" src="http://caribeauchamp.com/wp-content/uploads/2015/04/first-time-final-cover.jpg" alt="My First Time in Hollywood" />
<span><strong>Amazon</strong></span>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)

和CSS:

.Carl1 {
text-align: left;
}
.image-left {
    float: left;
    margin: 15px 20px 10px 0px;
    border: solid 4px #fff;

}
Run Code Online (Sandbox Code Playgroud)

但是,当我希望它出现在图像下方时,我的文字出现在图像的右上角.我究竟做错了什么?

html css html5 css3

3
推荐指数
2
解决办法
6334
查看次数

Shiny:选择是在窗口中、查看器窗格中还是在外部运行应用程序

我有一个闪亮的应用程序,我作为一个包分发。当我在计算机上使用包/应用程序时,它会在 RStudio 中打开一个新窗口并在那里运行应用程序。当其他人在他们的计算机上运行包/应用程序时,它会在 Internet Explorer 中打开,这是有问题的。

我将runApp代码更改为 include launch.browser=rstudio::viewer,这会阻止应用程序在 IE 中打开,但会在小查看器窗格中运行该应用程序,而不是打开一个新窗口。我似乎无法在闪亮的文档中找到关于如何runApp在 Rstudio 窗口中打开的任何地方。

如果我可以告诉runApp在查看器窗格中运行,我也应该能够在 Rstudio 窗口中运行它。有谁知道怎么做?

问候

r rstudio shiny

3
推荐指数
2
解决办法
4083
查看次数

日期格式随DT和闪亮而变化

我的问题是当我在我的计算机上使用数据表而在服务器上formatDate正在改变时我知道我正在使用 method = 'toLocaleDateString'它可能不是很好的方法

在我的电脑上它给我我想要的格式:

1 février 2000 

21 mars 2000
Run Code Online (Sandbox Code Playgroud)

闪亮它给我:

01/02/2000

21/03/2000
Run Code Online (Sandbox Code Playgroud)

本地计算机和服务器都有 Sys.timezone()

[1] "Europe/Paris"
Run Code Online (Sandbox Code Playgroud)

我想这样做

a <-structure(list(timestamp = structure(c(949363200, 953596800, 
                                         961286400, 962582400,     965347200,     969667200), 
                                       class = c("POSIXct",  "POSIXt"), tzone = "UTC"), 
                 anoms = c(1, 1, 1, 1, 1, 2), syndrome = c("Acrosyndrome", 
                                                       "Acrosyndrome", "Acrosyndrome", "Acrosyndrome", "Acrosyndrome", 
                                                       "Acrosyndrome")), .Names = c("timestamp", "anoms", "syndrome"
                                                       ), row.names = c(NA, 6L), class = "data.frame")

datatable(a) %>% formatDate(  1, method = 'toLocaleDateString')
a
Run Code Online (Sandbox Code Playgroud)

谢谢

r shiny dt

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

match.call问题

我写了一个使用的函数,match.call它在我直接调用函数时起作用,但是,当函数在另一个函数中被调用时它会中断.我认为它与如何match.call处理环境有关,但我无法弄明白.这是一个可重复的例子:

tester <- function() {

  var <- "helloworld"

  myFunc(var)

}


myFunc <- function(x) {

  tmp <- match.call()
  tmp[[1]] <- quote(toupper)
  eval(tmp)

}

tester() # error

myFunc("helloworld") # works fine
Run Code Online (Sandbox Code Playgroud)

我相信当它myFunc被调用时tester它找不到var因为它存在于tester函数的孤立环境中.

关于如何myFunc上班的任何想法tester将不胜感激.我试着改变环境evalmatch.call,但无济于事.

r

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

将预测与 svyglm 结合使用

我发现包中predictsvyglm对象和对象有一些奇怪的行为survey。如果您的 newdata 中predict的因子/字符具有一个级别,则会输出错误:

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
contrasts can be applied only to factors with 2 or more levels
Run Code Online (Sandbox Code Playgroud)

如果我将一个单级变量作为模型的预测变量,这个错误是有道理的,但对于 newdata 我没有看到问题。

定期glm这工作正常。

雷:

library(survey)

data(api)

dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)

svymodel <- svyglm(api00~sch.wide,design=dstrat)
# errors
predict(svymodel, data.frame(sch.wide=rep("No",10)))

regmodel <- glm(api00~sch.wide,data=apistrat)
# works
predict(regmodel,data.frame(sch.wide=rep("No",10)))
Run Code Online (Sandbox Code Playgroud)

我发现如果我破解因子的水平它会起作用,但这应该不是必需的:

svymodel <- svyglm(api00~sch.wide,design=dstrat)

predict(svymodel, data.frame(sch.wide=factor(rep("No",10),
                                             levels = c("No","random phrase"))))
Run Code Online (Sandbox Code Playgroud)

我是不是误解了什么,或者这是survey包裹的问题?

r survey linear-regression

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

MultiSelect列表框问题

我在将列表框放入多选列表框时遇到问题.我知道制作列表框multiselect的代码是:

[forms]![formname]![listboxname].multiselect=2
Run Code Online (Sandbox Code Playgroud)

但是,当我在Private Sub Form_Load()中运行它时,我得到运行时错误'2448'您无法为此对象分配值.

我想我不明白如何制作列表框多选,但我很确定我理解如何在VBA中使用多选列表框.

任何有关如何使用上述代码实际将列表框更改为多选的帮助将不胜感激.

ms-access vba listbox access-vba ms-access-2010

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

使用 VBA 在 Access 上创建登录表单

我正在尝试为我的 Access 数据库创建登录名,但无法让它工作。这是我的代码(请记住“Preparer”是保存用户名和密码信息的表的名称:

Private Sub Command1_Click()

    If IsNull(Me.txtLogin) Then

        MsgBox "Please Enter Login", vbInformation, "Need ID"
        Me.txtLogin.SetFocus

    ElseIf IsNull(Me.txtPassword) Then

        MsgBox "Please Enter Password",vbInformation, "Need Password"    
        Me.txtPassword.SetFocus

    Else

        If ((IsNull(DLookup("Login","Preparer","Login='& Me.txtLogin.Value &'"))) or _
        (IsNull(DLookup("Password","Preparer","Password='& Me.txtPassword.Value &'")))) Then

            MsgBox "Incorrect Login or Password"

        Else

            DoCmd.Close    
            MsgBox "Success"

            DoCmd.OpenForm "Master"

        End If

    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

前两个部分有效,因此如果登录名或密码为空,它会给出正确的错误消息,但是每当我输入登录名和密码时,即使它们是正确的(即它们存在于准备器表中),它也会给我“错误的登录名或密码”密码”

我假设问题出在此处的代码中:

If ((IsNull(DLookup("Login","Preparer","Login='& Me.txtLogin.Value &'"))) or _
    (IsNull(DLookup("Password","Preparer","Password='& Me.txtPassword.Value &'")))) Then

    MsgBox "Incorrect Login or Password"
Run Code Online (Sandbox Code Playgroud)

有人明白为什么我无法深入了解 else 语句吗?

ms-access vba ms-access-2010

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

访问VBA:日期功能不起作用

我在表单上有一个按钮,显示当前日期.非常简单的代码:

MsgBox DATE
Run Code Online (Sandbox Code Playgroud)

这工作了几个月,但在一些看似无关的更改后,这停止了工作,我得到错误:运行时错误'2465':找不到表达式中引用的字段"DATE".

显然,Access停止将DATE识别为函数,并试图将其作为不存在的对象来查找.在VBA代码中,DATE()立即由DATE替换为Access.

表单中的所有对象都没有命名为Date,控制源表中的任何字段都没有名称Date,所以我不知道为什么Access会混淆.

当我创建一个带有按钮的新表单并使用相同的代码时.有任何想法吗?

excel ms-access vba excel-vba access-vba

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

使用迭代器从双循环构建矢量

我正在学习如何使用迭代器,但我无法概念化如何使用它们从双循环构造向量.

这是一个例子:假设我想编写一个输入两个向量的函数,并输出通过组合每个向量中的单个元素生成的所有可能和的向量(这是一个人为的例子).这是一个工作版本:

#include <RcppArmadillo.h>
using namespace Rcpp;
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
arma::colvec test(arma::colvec x, arma::colvec y) {
  arma::colvec out(x.size()*y.size());
  arma::colvec::iterator ix,iy;
  int count=0;
  for (ix=x.begin();ix!=x.end();ix++) {
    for (iy=y.begin();iy!=y.end();iy++) {
      out(count)=*ix+*iy;
      count+=1;
    }
  }
  return out;
}

/*** R
test(c(1:15),c(15:1))
*/
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我觉得使用count作为out矢量的ad-hoc迭代器似乎不优雅,我觉得必须有一个更好的解决方案.我希望这样的东西能起作用:

arma::colvec::iterator ix,iy,io;
for (ix=x.begin(),io=out.begin();ix!=x.end(),io!=out.end();ix++,io++) {
  for (iy=y.begin();iy!=y.end();iy++,io++) {
    *io=*ix+*iy;
  }
}
Run Code Online (Sandbox Code Playgroud)

这会导致我的计算机崩溃,所以我猜我无法对io每个循环进行迭代.如果有人能指出在这种情况下的良好做法,我将非常感激.

问候

c++ iteration iterator armadillo rcpp

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

Google Maps API HTTP限制:如何使用通配符?

根据此处的文档

我使用通配符添加了http限制,如下所示:

这应该涵盖所有子域的所有路径,但是RefererNotAllowedMapError当我尝试使用时会收到错误消息https://www.dev.mydomain.com/#/

我什至尝试显式添加https://www.dev.mydomain.com/#/,但出现相同的错误。

我完全迷路了,不知道该怎么办。显然,其他人正在使用Google Maps API,并没有完全不受限制,因此必须有一种方法来做到这一点。

google-maps google-api google-maps-api-3 google-console-developer

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