Loading [MathJax]/jax/input/TeX/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

复制
相关文章
matlab展示两个向量之间的差异
叶茂林
2023/10/07
2360
matlab展示两个向量之间的差异
RabbitMQ与Kafka之间的差异
被概括为“开源分布式消息代理”,用Erlang编写,有助于在复杂的路由方案中有效地传递消息,可以通过服务器上启用的插件进行扩展,高可用(队列可以在集群中的机器上进行镜像)
ruochen
2021/11/25
4.1K0
进程、会话、连接之间的差异
--======================== -- 进程、会话、连接之间的差异 --========================     在使用Oracle database的时候,连接与会话是我们经常碰到的词语之一。咋一看貌似一回事,事实则不然。一个连接上可以建立零个、 一个、甚至多个会话。啊,咋这样呢?是的,没错。这也是我们经常误解的原因。     各个会话之间是单独的,独立于其他会话,即便是同一个连接的多个会话也是如此。 一、几个术语之间的定义(参照Oracle 9i &10g 编程艺术)         连接(connection):连接是从客户到Oracle 实例的一条物理路径。连接可以在网络上建立,或者通过IPC 机制建立。通常会在     客户进程与一个专用服务器或一个调度器之间建立连接。         会话(session):会话是实例中存在的一个逻辑实体。这就是你的会话状态(session state),也就是表示特定会话的一组内存     中的数据结构.提到"数据库连接"时,大多数人首先想到的就是“会话”。你要在服务器中的会话上执行SQL、提交事务和运行存储过程。 二、通过例子演示来查看之间的关系 1. 无连接,无会话,无进程的情形
Leshami
2018/08/14
2K0
图像处理,计算机视觉和人工智能之间的差异
图像处理和计算机视觉是超级令人兴奋的研究和研究领域。随着人工智能的进步,这两个领域都在不断发展。
kbsc13
2019/09/05
1.1K0
图像处理,计算机视觉和人工智能之间的差异
小白系列(4)| 计算机视觉和图像处理之间的差异
如今,随着时间推移,涉及图片和视频的应用程序越来越受欢迎,市场上诞生了很多应用,比如面部识别、停车场监控和癌症检测等。
一点人工一点智能
2023/09/03
2650
小白系列(4)| 计算机视觉和图像处理之间的差异
R计算多个向量两两之间相关性
我们知道R里面计算两个数值向量之间的相关性用cor函数,而检验是否显著相关用cor.test。例如
生信交流平台
2022/09/21
7100
R计算多个向量两两之间相关性
小白系列(4)| 计算机视觉和图像处理之间的差异
如今,随着时间推移,涉及图片和视频的应用程序越来越受欢迎,市场上诞生了很多应用,比如面部识别、停车场监控和癌症检测等。
一点人工一点智能
2023/09/08
1880
小白系列(4)| 计算机视觉和图像处理之间的差异
PostgreSQL 和 MySQL 之间的性能差异
在管理数据库时,性能是一项非常重要而又复杂的任务。它可能会受到系统的配置、硬件甚至设计的影响。有趣的是,PostgreSQL和MySQL都配置了兼容性和稳定性,这取决于我们的数据库设计的硬件基础架构。
肉眼品世界
2022/04/19
8.5K0
PostgreSQL 和 MySQL 之间的性能差异
Snap, AppImage和 Flatpak之间差异
早些时候,想要为各种Linux发行版分发应用程序的开发人员在打包方面面临许多挑战。这是因为市场上有许多Linux发行版,并且都使用不同的包管理系统。
从大数据到人工智能
2022/01/18
7.9K0
String与StringBuffer与StringBuilder之间的差异
参考链接: Java stringbuffer和stringbuilder之间的差异
用户7886150
2021/02/26
9250
网站建设公司之间的成本差异
随着互联网和移动互联网的迅速发展,企业网站也被视为企业在互联网上不可或缺的网络门面。网站建设行业的发展越来越受到人们的认可。随着网站建设的普及,网站建设的价格也不尽相同。现在网站建设的成本从几百元到几千元,甚至几万元甚至几十万元。很多人都会怀疑为什么价差这么大。今天就这个问题给大家来分析一下网站建设成本的差异。
华专网络
2022/11/28
2K0
网站建设公司之间的成本差异
canvas 和 SVG 以及 VML 之间的差异
<canvas> 标记和 SVG 以及 VML 之间的一个重要的不同是,<canvas> 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一个 XML 文档来描述绘图。
acoolgiser
2019/01/17
1.6K0
Python 3.10 和 Python 3.9 之间的差异
在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。Python 还用于处理复杂的程序或编码挑战。机器学习 (ML)、人工智能 (AI) 和数据科学等新兴领域也满足了学习这种语言的高需求。与 Java、C# 和其他语言等传统语言相比,Python 是一种强大的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。
海拥
2021/12/20
3.3K0
考研竞赛每日一练 day 34 中值定理中参数的计算(本质中值转化为极限的计算)
本题在考研以及竞赛中是非常老的题型,综合运用中值定理以及极限的计算来进行考察,注意式子的变形。
用户9628320
2022/11/23
5200
对于 JavaScript 中循环之间的技术差异概述
可枚举对象的一个定义特征是,当通过赋值操作符向对象分配属性时,我们将内部 enumerable 标志设置为true,这是默认值。
前端小智@大迁世界
2020/09/24
1.9K0
对于 JavaScript 中循环之间的技术差异概述
在 JavaScript 中使用循环时,需要理解两个关键点:可枚举的属性和可迭代的对象。
前端小智@大迁世界
2022/06/15
1.8K0
浅谈C、Java与Python之间的小差异
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:浅谈C、Java与Python之间的小差异 ---- 本文目录 1.变量是什么 1.1 C认为变量应该是容器 1.2 Python认为变量应该是标签 1.3 Java认为我们不应该关心这个问题 2.循环与迭代 2.1 传统的循环 2.2 继承与发展 2.3 新的问题 3.尾声 3.1 万物皆对象 3.2 C的自增
小嗷犬
2022/11/15
8220
图文并茂解释Kotlin == 和 === 之间的差异
Kotlin最近风头正劲,作为一个去年就关注这门语言,并且向朋友安利这门语言的小司机终于扬眉吐气了一回,自己选择没有错。 最近在一个Kotlin群里,看到大家在讨论一个问题,是关于 == 和 === 的问题,看官方文档解释的意思大概是这样子的 两个等号== == 两个等号意思与Java中的 equals 意思一样,就比如 var a = "字符串" print(a == "字符串") 这段代码在Kotlin中打印出来值就是true 三个等号=== === 三个等号的意思,则比较的是内存地址:就比
Xiaolei123
2018/06/28
2K0
聊技术 | SQL和SQL之间细微的差异
SQL和SQL之间大差不差,但是恰好就是差得这么些小玩意,看起来简单,真的搞起来就让人头秃了~简单聊一下MySQL、PostgreSQL和SQL Server之间差得那么一点点东西。
做数据的二号姬
2023/09/06
2130
聊技术 | SQL和SQL之间细微的差异
点击加载更多

相似问题

计算不同行和列中值之间的差异。

15

PHP :计算同一数组中值之间的差异

33

Jquery计算表单单选按钮中值之间的差异。

12

计算行向量和平均行向量之间的差异?

21

计算向量中值的总数

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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