小编Dir*_*tel的帖子

将std :: vector转换为Rcpp矩阵

这是一个与Rcpp转换相关的Q.我正在寻找将长std :: vector转换为Rcpp矩阵对象,但想知道是否有一个简单的转换格式.当然,你可以遍历每个元素并填充一个空的Rcpp矩阵,但这似乎容易出错,如果可以采用更方便的方法,则可能是不必要的.

我问的原因是我想在一些现有的C++代码中使用OpenMP,但是直接在OpenMP循环中将元素存储在Rcpp矩阵对象中似乎不能正常工作(而加载std :: vector对象并转换在OpenMP循环完成后到矩阵似乎是解决问题的一个不错的方法).

任何帮助将不胜感激!

r rcpp

11
推荐指数
2
解决办法
5993
查看次数

Rcpp 和 int64 NA 值

如何在 64 位向量中将 NA 值从 Rcpp 传递给 R?

我的第一种方法是:

// [[Rcpp::export]]                                     
Rcpp::NumericVector foo() {
  Rcpp::NumericVector res(2);

  int64_t val = 1234567890123456789;
  std::memcpy(&(res[0]), &(val), sizeof(double));
  res[1] = NA_REAL;

  res.attr("class") = "integer64";
  return res;
}
Run Code Online (Sandbox Code Playgroud)

但它产生

#> foo()
integer64
[1] 1234567890123456789 9218868437227407266
Run Code Online (Sandbox Code Playgroud)

我需要得到

#> foo()
integer64
[1] 1234567890123456789 <NA>
Run Code Online (Sandbox Code Playgroud)

r rcpp na bit64

11
推荐指数
2
解决办法
180
查看次数

真实生活用于Qt(诺基亚之外)

在诺基亚手机之外,Qt是一个有趣的商业应用开发平台吗?
为什么?优点?
谢谢

c++ qt cross-platform

10
推荐指数
6
解决办法
6827
查看次数

无法加载rJava,因为无法加载共享库

我一直在努力在R中加载rJava包.

我收到以下消息

> library(rJava)
Error in inDL(x, as.logical(local), as.logical(now), ...) : 
  unable to load shared library \
     'C:/PROGRA~1/R/R-210~1.1/library/rJava/libs/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.


Error : .onLoad failed in 'loadNamespace' for 'rJava'
Error: package/namespace load failed for 'rJava'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多解决方案,他们都在我的头脑中.在某些时候我甚至得到了

> R Console: Rgui.exe - System Error The
> program can't start because
> MSVCR71.dll is is missing from your
> computer. Try reinstalling the program
> to fix this problem.
Run Code Online (Sandbox Code Playgroud)

我确保我能想到的一切都在路上

> C:\Program Files\R\Rtools\bin;C:\Program Files\R\Rtools\perl\bin;
  C:\Program Files\R\Rtools\MinGW\bin;%SystemRoot%\system32; …
Run Code Online (Sandbox Code Playgroud)

java r path

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

在R中分组,ddply与weighted.mean

我试图在R中做一个"分组依据" - 样式加权平均值.有一些基本意思,下面的代码(使用Hadley的plyr包)运行良好.

ddply(mydf,.(period),mean)
Run Code Online (Sandbox Code Playgroud)

如果我使用相同的方法加权.我得到以下错误"'x'和'w'必须具有相同的长度",我不明白,因为weighted.mean部分在ddply之外工作.

weighted.mean(mydf$mycol,mydf$myweight) # works just fine
ddply(mydf,.(period),weighted.mean,mydf$mycol,mydf$myweight) # returns the erros described above
ddply(mydf,.(period),weighted.mean(mydf$mycol,mydf$myweight)) # different code same story
Run Code Online (Sandbox Code Playgroud)

我想过编写一个自定义函数而不是使用weighted.mean然后将它传递给ddply,甚至用子集从头开始编写新东西.在我的情况下,希望这将是太多的工作,但应该有一个更聪明的解决方案已经存在的东西.

thx提前任何建议!

group-by r

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

在Ubuntu中双击安装程序?

我正在尝试更新我们的安装程序,以便用户只需双击文件即可轻松安装所有依赖项和软件.这是一套应用程序,将部署在干净的Ubuntu 8.04安装上.我已经调查了制作.deb文件,但列出依赖项不起作用,因为没有可用的Internet访问.并且,任何设置本地apt存储库的脚本仍然需要从命令行运行.有没有办法将deb文件放在deb文件中?

我知道很多公司都发布了chmod + x的shell脚本,然后执行.这是不可接受的.这是不可能的,这是荒谬的; 特别是考虑到分布和架构是固定的.

linux ubuntu installer debian

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

QTableWidget:如何使用更少的垂直间距填充来获得更紧凑的线条?

QTableWdiget是神话般的简单的网格显示.更改颜色,字体等很简单.

但是,我没有设法使用更少的垂直空白给网格一个"更紧凑"的外观.我看到Qt文档谈论(例如这里)

  • 余量
  • 边界
  • 填充

围绕小部件,但是当我设置这些时,我只能在整个网格小部件而不是内部进行更改.

如何直接设置此(使用样式表或硬编码选项)以使QTableWidget显示更紧凑?

qt qt4 qtablewidget

8
推荐指数
2
解决办法
7883
查看次数

如何在ubuntu上安装新版本的gcc

我使用的是ubuntu 9.10,它带有gcc 4.4.如何在不搞砸我的gcc 4.4的情况下安装gcc 4.5.环境.我只需要gcc 4.5来编译1个应用程序.

谢谢.

ubuntu gcc ubuntu-9.10

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

R:构建一个简单的命令行绘图工具/捕获窗口关闭事件

我试图在一个脚本中使用R作为一个简单的命令行绘图工具.即用户管道在csv文件中,他们得到一个情节.我可以得到R罚款并通过各种临时文件阴谋来显示情节,但我遇到了障碍.在用户关闭窗口之前,我无法弄清楚如何让R继续运行.

如果我绘制并退出,则绘图立即消失.如果我绘制并使用某种无限循环,用户就无法关闭该图; 他必须使用我不喜欢的中断退出.我看到有一个getGraphicsEvent函数,但它声称不支持该设备(X11).无论如何,它似乎实际上不支持onClose事件,只有onMouseDown.

关于如何解决这个问题的任何想法?

编辑:感谢Dirk提供了查看tk界面的建议.这是我的测试代码:

require(tcltk)
library(tkrplot)

## function to display plot, called by tkrplot and embedded in a window
plotIt<-function(){ plot(x=1:10, y=1:10) }
## create top level window
tt<-tktoplevel()
## variable to wait on like a condition variable, to be set by event handler
done <- tclVar(0)
## bind to the window destroy event, set done variable when destroyed
tkbind(tt,"<Destroy>",function() tclvalue(done) <- 1)
## Have tkrplot embed the plot window, then realize it with tkgrid
tkgrid(tkrplot(tt,plotIt))
## wait until …
Run Code Online (Sandbox Code Playgroud)

x11 plot r

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

使用RInside/Rcpp从c ++调用R图

是否可以从c ++调用绘图函数?目前,当我尝试这样做时,ubuntu终端会冻结一段时间(可能是创建3d绘图然后旋转整整360度的持续时间)然后解冻,而不会弹出新窗口.这是预期的行为还是我做错了什么?如何使用rinside和rcpp从c ++中运行绘图(R图形)?

日Thnx

-Egon

r rcpp rinside

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

标签 统计

r ×6

rcpp ×3

qt ×2

ubuntu ×2

bit64 ×1

c++ ×1

cross-platform ×1

debian ×1

gcc ×1

group-by ×1

installer ×1

java ×1

linux ×1

na ×1

path ×1

plot ×1

qt4 ×1

qtablewidget ×1

rinside ×1

ubuntu-9.10 ×1

x11 ×1