Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >计算向量中值之间的差异

计算向量中值之间的差异
EN

Stack Overflow用户
提问于 2015-03-13 03:32:36
回答 2查看 4.2K关注 0票数 1

我有一个向量,它包含超过25万个值(我知道,这是一个巨大的数值),我需要计算每个值之间的差异。例如,对于第一个值202.7952,我想用202.7952计算向量中其他每一个值之间的差值,并对其进行限制,从而丢弃高于400的差值。然后,我希望它得到第二个值(202.7956),并做同样的事情(包括上面的值)。我希望这样做的最终结果将是一个数值列表,这些值是我的向量中的值的计算差异。例如:-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0.0004
0.0125
0.0136
etc

将从列表中的第一个值与下三个值的差值中产生,并且在做相同的事情之前,它会继续到底部,但是对于列表中的第二个值。然而,由于我的向量中有25万个值,我知道可能存在一些计算问题。我制作了一幅图像来显示我的数据的分布:-

我的数值在200到1500之间,其中绝大多数在200-500的范围内。我在java中尝试过这样做,但是我遇到了内存问题,所以你们中有人认为/知道在R中是否可以这样做吗?我是如何做到的呢?

这是我的java代码:-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class matrixDiff {

    public static void main(String[] args) throws IOException{

        double[] values = new double[271730];                       

        BufferedReader br = new BufferedReader(new FileReader("file"));

        String value = br.readLine();

        for(int i = 0; i < values.length; i++){

            if(value != null){

                values[i] = Double.parseDouble(value);
            }

            value = br.readLine();

        }

        for(int i = 0; i < values.length; i++){

            double mzValue = values[i];

            System.out.println(mzValue);

            for(int j = 0; j < values.length; j++){

                double diff = values[j];


                if((diff - mzValue) < 400 || (diff - mzValue) > -400){

                    System.out.println(diff - mzValue);

                }

            }

        }


    }
}

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-13 04:05:19

下面是一个如何进行的示例。样本数据大小为1000。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
memory.limit(max = NA)
# filter out differences larger than K
K = 25

v <- rnorm(n = 1000, mean = 200, sd = 10)
diffs <- list()
for(i in seq_along(v)) {
  diffs[[i]] <- v[i] - v
  diffs[[i]] <- diffs[[i]][diffs[[i]] <= K]
}


# Check lengths after filtering
sapply(diffs, length)

编辑

我不知道你是否考虑过它,或者你是否已经解决了你的问题,但是为了处理这么多的数据,你可以做一件事来将所有的东西存储在一个数据库中。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(RSQLite)
con <- dbConnect(SQLite(), "diffs.sqlite")
memory.size(max = NA)
v <- rnorm(n = 100000, mean = 200, sd = 10)

# filter out differences larger than K
K = 25

for(i in seq_along(v)) {
  diffs <- v[i] - v
  diffs <- diffs[diffs <= K]
  dbWriteTable(con, "mytable", as.data.frame(diffs), append=TRUE)
}

然后,您可以使用SQL而不是R函数来做一些事情,这不会造成内存问题。

票数 2
EN

Stack Overflow用户

发布于 2015-03-13 03:47:07

向量是你在R中的朋友,它节省了大量的时间和记忆。

数据帧示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- data.frame(x = rnorm(1000000))
df$dif <- df$x - c(NA, df$x[1:(length(df$x)-1)])

就这样,一眨眼之间,1kk数的差别就来了。

向量示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- rnorm(1000000)
x <- c(NA, x[1:(length(x)-1)])

甚至更短:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- rnorm(1000000)
x <- c(NA, diff(x))

若要通过向量累积值,需要使用累计和():

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- rnorm(1000000)
x <- cumsum(c(0, diff(x)))

注意0英寸的NA。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29031146

复制
相关文章
PS选区复制_ps怎么取消选区
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168103.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
1.9K0
GPUImage详细解析(九)图像的输入输出和滤镜通道
前言 GPUImage系列解析已经接近尾声,这次介绍的是: 纹理输入输出GPUImageTextureOutput 和 GPUImageTextureOutput 二进制数据输入输出GPUImageRawDataInput 和 GPUImageRawDataOutput 滤镜通道GPUImageFilterPipeline demo用来展示如何使用GPUImageRawDataOutput。 概念介绍 1、GPUImageTextureOutput GPUImageTextureOutput类实现GP
落影
2018/04/27
2.3K0
GPUImage详细解析(九)图像的输入输出和滤镜通道
DataGridView输出或保存为Excel文件(支持超过65536行多Sheet输出)
/// <summary>         /// DataGridView控件数据导出到Excel,可设定每一个Sheet的行数         /// 建立多个工作表来装载更多的数据         /// </summary>         /// <param name="ExportGrid">DataGridView控件</param>         /// <param name="fullFileName">保存的文件路径</param>         /// <param name=
跟着阿笨一起玩NET
2018/09/18
1.5K0
Crimm Imageshop 2.3。
本文介绍了一款名为 Crimm 的图像处理软件,该软件具有体积小、功能丰富、使用方便等特点。它支持多种图像格式,并提供了丰富的图像处理功能,包括图像编辑、调整、滤镜和特效等。此外,该软件还提供了选区、图层、历史记录、颜色、笔刷等实用功能,能够满足用户对图像处理的基本需求。同时,该软件还具备跨平台、免费、开源等特点,是一款非常实用的图像处理工具。
用户1138785
2018/01/03
1.1K0
Crimm Imageshop 2.3。
创建选区快捷键是什么_Photoshop选区操作的快捷键
按住shift用绘画工具在画面点击就可以在每两点间画出直线,按住鼠标拖动便可画出水平或垂直线。
全栈程序员站长
2022/07/02
5450
linux如何将输出重定向到文件和标准输出
调用ls -al > rumenz.txt会将来自该命令的任何输出重定向到指定的文件,有没有办法将输出重定向到文件并将其显示在标准输出上? > ls -al > rumenz.txt 上面的命令执行后,数据被输入到rumenz.txt文件,屏幕没有任何输出,如果既想输入到文件又想输入到屏幕,请使用如下的方法. 使用tee 如果您只关心标准输出 > ls -al | tee rumenz.txt 如果要包含 stderr,请执行以下操作,会覆盖之前的数据 > ls -al 2>&1 | tee rumen
入门笔记
2022/06/02
5.4K0
linux如何将输出重定向到文件和标准输出
原文链接:https://rumenz.com/rumenbiji/linux-file-stdin-stdout.html
入门笔记
2021/11/26
5.1K0
如何将组态软件画面自动截屏并保存为图片
上周有个朋友突然给我发信息,说他们领导让他实现一个功能:将正在运行的SE画面自动按时间截屏并以图片方式保存到指定目录下。
剑指工控
2021/11/09
1.1K0
photoshop 选区操作介绍
上一篇photoshop 选框和套索工具中介绍了如何使用工具抠图,但是只是简单介绍了下单个工具的使用,还没有讲到如何混合使用。
Devops海洋的渔夫
2019/05/31
7560
ps关闭选区替代字
2023/10/18
5240
ps关闭选区替代字
将cmd中命令输出保存为TXT文本文件
例如:将Ping命令的加长包输出到D盘的ping.txt文本文件。 1、在D:目录下创建文本文件ping.txt(这步可以省略,偶尔提示无法创建文件时需要) 2、在提示符下输入ping www.idoo.org.ru -t > D:ping.txt 3、这时候发现D盘下面的ping.txt里面已经记录了所有的信息 备注: 只用“>”是覆盖现有的结果,每一个命令结果会覆盖现有的txt文件,如果要保存很多命令结果的话,就需要建立不同文件名的txt文件。 那么有没有在一个更好的办法只用一个txt文件呢?答案是肯定的,要在同一个txt文件里面追加cmd命令结果,就要用“>>”替换“>” 就可以了.
Hongten
2018/09/13
4.4K0
将cmd中命令输出保存为TXT文本文件
SPPnet
论文: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. 来源:ECCV 2014
全栈程序员站长
2022/08/10
1980
SPPnet
Dicom图像解析
后缀: .dcm、.DCM Dicom中规定的坐标系是以人坐标系为绝对坐标系的,规定X轴正向指向病人的左侧,Y轴正向指向病人的背部,Z轴正向指向病人的头部。但是,坐标点的位置,每个厂商都有自己的看法 下图展示了成像过程中对应的坐标系 成像坐标系
范中豪
2019/09/10
1.9K0
Dicom图像解析
Advanced CNN Architectures(R-CNN系列)
除了将该图像标记为猫外,还需要定位图中的猫,典型方法是在该猫周围画一个边界框,这个方框可以看做定义该方框的一系列坐标,(x,y) 可以是方框的中心w 和 h 分别表示方框的宽和高。 要计算这些值 我们可以使用典型分类 CNN,用到的很多相同结构。
小飞侠xp
2018/10/10
7520
Advanced CNN Architectures(R-CNN系列)
关于Adobe Photoshop调整选区介绍
高品质预览:渲染更改的准确预览。此选项可能会影响性能。选择此选项后,在处理图像时,按住鼠标左键(向下滑动)可以查看更高分辨率的预览。取消选择此选项后,即使向下滑动鼠标时,也会显示更低分辨率的预览。
IT胶囊
2021/06/02
2.5K0
目标检测分割--Mask R-CNN
Mask R-CNN ICCV2017 best paper https://arxiv.org/pdf/1703.06870 Mask R-CNN= Faster R-CNN + FCN, 大致可以这么理解!
用户1148525
2019/05/26
8930
matlab输出论文仿真图
一般来说学校对于学术论文的图像都有一定的要求,比如线性、字体大小等,本文将讲解怎么出高清的图和绘制符合要求的图。
用户9925864
2022/07/27
1.1K0
matlab输出论文仿真图
PIXI输出base64图像
如果想使用 canvas 原生的 toDataURL ,参考这篇问答,以下代码是具体方法。但这个方法如果在iOS设备上使用,获取到的图像会上下翻转(效果相当于css3的transform: scaleY(-1);)。原因不明,可能也是webGL搞鬼吧。
黒之染
2018/10/19
1.6K0
【语义分割】一篇看完就懂的最新深度语义分割模型综述
语义分割结合了图像分类、目标检测和图像分割,通过一定的方法将图像分割成具有一定语义含义的区域块,并识别出每个区域块的语义类别,实现从底层到高层的语义推理过程,最终得到一幅具有逐像素语义标注的分割图像。
AI算法与图像处理
2020/02/24
16.4K0
【语义分割】一篇看完就懂的最新深度语义分割模型综述
点击加载更多

相似问题

使用SSH密钥进行BlueOcean连接

17

capistrano未使用ssh密钥进行记录

10

Submit_tag确认消息未显示确认消息

119

使用SSH密钥进行http用户验证

33

如何使用Yubikey对消息进行签名

123
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文