使用 Rcpp 处理 R 中的矩阵是否有限制?

2023-12-06

我试图用 R 开发一个程序来估计 Spearman 与 Rcpp 的相关性。我做到了,但它只适用于向量范围小于 45 00 - 50 000 的矩阵。我不知道为什么,但它只适用于那个维度。我想这种类型的信息是有限制的,也许如果我像 data.frame 一样处理它?如果有人给我见解,我将非常感激。

我在这里发布我的代码。我一直在尝试限制我称之为“分母”的最大整数,它超出了它。也许你可以帮助我。

cppFunction('double spearman(NumericMatrix x){
 int nrow = x.nrow(), ncol = x.ncol();
 int nrow1 = nrow - 1;
 double out = 0;
 double cont = 0;
 double cont1 = 0;
 double r = 0;
 int denominador = ncol*(pow(ncol,2.0)-1)

 for(int i = 0; i < nrow1; i++){
 #Here i use every combination of vectors starting with the first one, and so on
  for(int j = i +1; j < nrow; j++){
   cont1 = 0;
   for(int t = 0; t < ncol; t++){
    cont = pow(x(i,t)-x(j,t), 2.0);
    cont1 += cont;
   }
   #Here i begin to store the mean correlation, in order to a final mean of all the possible correlations
   r = 2*(1-6*(cont1/denominador))/(nrow*nrow1);
   out += r;
  }
 }
 return out;
}')

更简洁地重复一遍:

  1. 向量中可以包含超过 2^31-1 个元素。

  2. 矩阵是向量dim属性。

  3. 矩阵中可以有超过 2^31-1 个元素(即n times k)

  4. 您的行索引和列索引仍然限制为 2^31。

大向量的示例:

R> n <- .Machine$integer.max + 100
R> tmpVec <- 1:n
R> length(tmpVec)
[1] 2147483747
R> newVec <- sqrt(tmpVec)
R> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rcpp 处理 R 中的矩阵是否有限制? 的相关文章

  • “x[] <- as.integer(x)”是什么意思

    当我阅读 R 手册时 我遇到了如下代码行 从 R 手册中的 colSums 复制 x lt cbind x1 3 x2 c 4 1 2 5 dimnames x 1 lt letters 1 8 x lt as integer x 有人能告
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • 使用 ggplot 为各个图例值选择所选颜色(HSV 或 HCL 或 RGB)

    我有一个类似这样的数据集 data lt read table text Me EE PE DE TE DEE CE 1 1 1 4 5 2000 0 50 0 2547 0 69 2 1 2 2 4 3000 NA 0 5896 2 56
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 消除垂直线ggplot

    这个问题以前曾被问过 但答案并不总是明确或很复杂 我希望 ggplot2 的新版本能够带来更简单的解决方案 如何仅消除 ggplot 的垂直线而不消除轴刻度线或标签 这对于条形图来说确实很好 因为它可以消除图形中一些不必要的干扰 这里有一些
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 从拟合的 lm 或 glm [R] 获取每个因子水平(以及交互作用)的数据数量

    我在 R 中有一个逻辑回归模型 其中所有预测变量都是分类变量而不是连续变量 除了响应变量 它显然也是分类 二元变量 打电话时summary model name 有没有办法在每个因子水平中包含一个表示观测值数量的列 我在 R 中有一个逻辑回
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl
  • 在并行包中的 R 的 par*apply 函数内部使用 Rcpp 函数

    我试图了解背后发生的事情Rcpp sourceCpp 调用并行环境 最近 问题中部分解决了这个问题 在 Windows 上使用 parLapply 中的 Rcpp 函数 https stackoverflow com questions 2

随机推荐