首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R:如何编写一个for循环来读取矩阵中的每两行?

R:如何编写一个for循环来读取矩阵中的每两行?
EN

Stack Overflow用户
提问于 2014-11-05 11:05:59
回答 3查看 438关注 0票数 0

我想使用cor.test()计算相关统计信息。我有一个数据矩阵,其中两个待测试的对在连续的行上(我有超过1000对,所以我需要稍后对其进行更正)。我想我可以循环遍历矩阵中的每两行并执行测试(即首先测试row1和row2之间的相关性,然后测试row3和row4、row5和row6等),但我不知道如何进行这种循环。

这就是我如何在单个对上进行测试:

代码语言:javascript
运行
AI代码解释
复制
d = read.table(file="cor-test-sample-data.txt", header=T, sep="\t", row.names = 1)
d = as.matrix(d)
cor.test(d[1,], d[2,], method = "spearman")
EN

回答 3

Stack Overflow用户

发布于 2014-11-05 11:21:04

你可以试一试

代码语言:javascript
运行
AI代码解释
复制
 res <-  lapply(split(seq_len(nrow(mat1)),(seq_len(nrow(mat1))-1)%/%2 +1),
               function(i){m1 <-  mat1[i,]
                if(NROW(m1)==2){ 
                 cor.test(m1[1,], m1[2,], method="spearman")
                  }
                else NA 
         })

获取p-values

代码语言:javascript
运行
AI代码解释
复制
 resP <- sapply(res, function(x) x$p.value)
 indx <- t(`dim<-`(seq_len(nrow(mat1)), c(2, nrow(mat1)/2)))
 names(resP) <- paste(indx[,1], indx[,2], sep="_")
 resP  
 #       1_2        3_4        5_6        7_8       9_10      11_12      13_14 
 #0.89726818 0.45191660 0.14106085 0.82532260 0.54262680 0.25384239 0.89726815 
 #     15_16      17_18      19_20      21_22      23_24      25_26      27_28 
 #0.02270217 0.16840791 0.45563229 0.28533447 0.53088721 0.23453161 0.79235990 
 #    29_30      31_32 
 #0.01345768 0.01611903 

或者使用mapply (假设行是偶数)

代码语言:javascript
运行
AI代码解释
复制
  ind <- seq(1, nrow(mat1), by=2) #similar to the one used by @CathG in for loop
  mapply(function(i,j) cor.test(mat1[i,], mat1[j,],
                method='spearman')$p.value , ind, ind+1) 

数据

代码语言:javascript
运行
AI代码解释
复制
set.seed(25)
mat1 <- matrix(sample(0:100, 20*32, replace=TRUE), ncol=20)    
票数 2
EN

Stack Overflow用户

发布于 2014-11-05 11:22:56

试一试

代码语言:javascript
运行
AI代码解释
复制
d = matrix(rep(1:9, 3), ncol=3, byrow = T)
sapply(2*(1:(nrow(d)/2)), function(pair) unname(cor.test(d[pair-1,], d[pair,], method="spearman")$estimate))
票数 1
EN

Stack Overflow用户

发布于 2014-11-05 11:52:12

代码语言:javascript
运行
AI代码解释
复制
pvalues<-c()    

for (i in seq(1,nrow(d),by=2)) {
        pvalues<-c(pvalues,cor.test(d[i,],d[i+1,],method="spearman")$p.value)
}

names(pvalues)<-paste(row.names(d)[seq(1,nrow(d),by=2)],row.names(d)[seq(2,nrow(d),by=2)],sep="_")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26755653

复制
相关文章
Shell脚本循环读取文件中的每一行
While循环中read命令从标准输入中读取一行,并将内容保存到变量line中。在这里,-r选项保证读入的内容是原始的内容,意味着反斜杠转义的行为不会发生。输入重定向操作符< file打开并读取文件file,然后将它作为read命令的标准输入。
卡尔曼和玻尔兹曼谁曼
2019/01/22
5.7K0
如何在Bash中编写循环?
人们想要学习Unix shell的一个常见原因是释放批处理的功能。如果要对许多文件执行某些操作,一种方法是构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一是for循环。
用户6543014
2020/02/21
2.5K0
R中的循环绘图
上面我们将每一张图都单独输出了,下面来介绍如何将其全部组合起来,分别介绍两种R包的方法gridExtra&patchwork
R语言数据分析指南
2022/09/21
4.1K0
R中的循环绘图
如何直接用Seurat读取GEO中的单细胞测序表达矩阵
我们可以利用head命令检查数据三个表格的内容。 Barcodes通俗来讲就是每个细胞的代码,组成就是ATCG四个碱基排列组合成的不同的14个碱基组合; Gene.tsv或者features.tsv一般是基因的ensembl ID 和symbol matrix.mtx说白了就是每个细胞不同基因的表达矩阵,我们利用分别检查文件的开头和结尾:
生信技能树jimmy
2020/03/31
25.7K0
Toeplitz矩阵和循环矩阵
Toeplitz(特普利茨)矩阵又称为常对角矩阵,该矩阵每条左上至右下的对角线均为常数。Toeplitz 矩阵 为满足以下条件的矩阵:
hotarugali
2022/03/11
2.2K0
编写一个c程序来计算整数中的设置位数?
回答: unsigned int NumberSetBits(unsigned int n) { unsigned int CountSetBits= 0; while (n) { CountSetBits += n & 1; n >>= 1; } return CountSetBits; } 本质上就是计算n中1的和,就是位数了
用户4645519
2020/09/08
7230
R语言技巧:对stata软件文档来读取
前面几期介绍了如下内容: 读取excel文件 对比方法 读取csv格式文件 对比方法read.csv 读取sav格式文件 读取spss 的sav格式文件 读取sas软件的sas格式的文件 本期介绍读取stata软件的文件 下面来给出代码的格式: library(haven) dataset <- read_stata(NULL) View(dataset) 关于对stata软件文件的读取,可以查看其帮助文档来学习。
努力在北京混出人样
2019/02/18
1.6K0
R 矩阵
R 语言为线性代数的研究提供了矩阵类型,这种数据结构很类似于其它语言中的二维数组,但 R 提供了语言级的矩阵运算支持。
云深无际
2020/11/03
4570
R 矩阵
matlabfor循环产生矩阵_matlab形成矩阵
参考:http://www.ilovematlab.cn/thread-101148-1-1.html
全栈程序员站长
2022/11/08
6610
应用矩阵代替循环
应用矩阵代替循环 举个例子: 用rand(n,2)*10产生n个点坐标,求它们任意两点间距离? n = 88; location = rand(n,2) * 10; elementary = nch
万木逢春
2018/04/18
8100
应用矩阵代替循环
多个样品独立的txt文件如何批量读取并且整合到一个表达矩阵
在:http://www.biotrainee.com/thread-8003-1-1.html 可以看到如下所示的提问:
生信技能树
2021/02/03
1.9K0
多个样品独立的txt文件如何批量读取并且整合到一个表达矩阵
「Python」矩阵、向量的循环遍历
请注意,本文编写于 325 天前,最后修改于 325 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.4K0
python如何使用for循环_Python 中for循环的应用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170074.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
7.1K0
C#如何:编写简单的 Parallel.ForEach 循环
本文档使用 lambda 表达式在 PLINQ 中定义委托。 如果不熟悉 C# 或 Visual Basic 中的 lambda 表达式,请参阅 PLINQ 和 TPL 中的 Lambda 表达式。
全栈程序员站长
2022/09/09
1.6K0
matlab 循环矩阵_matlab循环输出数组
clc;clearall;closeall;t0=[11];a=[12;34]t=t0;t(1,:)=t0’\an=10;fori=2:nt(i,:)=t(i-1,:)’\a;endt
全栈程序员站长
2022/11/08
3.3K0
TidyFriday 如何编写一个自动获取和展示疫情数据的 R 包?
是不是总觉得会开发 R 包的都是大佬呢?其实你也可以,今天我们就为你揭开 R 包开发的神秘面纱!开发本文介绍的这个 R 包仅仅一些一些 R 语言的基础!
王诗翔呀
2020/07/06
1.1K0
TidyFriday 如何编写一个自动获取和展示疫情数据的 R 包?
python中for循环加速_如何提高python 中for循环的效率[通俗易懂]
对于某个城市的出租车数据,一天就有33210000条记录,如何将每辆车的数据单独拎出来放到一个专属的文件中呢?
全栈程序员站长
2022/09/22
3.6K0
R:混淆矩阵
在机器学习中,最后要计算混淆矩阵,常用的函数有: table confusionMatrix 下面以前馈神经网络为例来说明: > library("RSNNS") 载入需要的程辑包:Rcpp > library("reshape") > #example data and code from nnet function examples > ir<-rbind(iris3[,,1],iris3[,,2],iris3[,,3]) > targets<-class.ind( c(rep("s", 50)
努力在北京混出人样
2019/02/18
1.2K0
Python的矩阵传播机制&amp;矩阵运算——消灭for循环!
我们知道在深度学习中经常要操作各种矩阵(matrix)。 回想一下,我们在操作数组(list)的时候,经常习惯于用for循环(for-loop)来对数组的每一个元素进行操作。例如:
beyondGuo
2018/10/25
3.4K0
Python的矩阵传播机制&amp;矩阵运算——消灭for循环!
如何将R语言普通矩阵转换为非负矩阵
# =============================================================== # =============================================================== setwd('C:\\Users\\czh\\Desktop') library(Matrix) rm(list=ls()) options(stringsAsFactors = F) library(ConsensusCluste
用户1359560
2020/06/19
1.3K0
如何将R语言普通矩阵转换为非负矩阵

相似问题

编写一个循环来对R中的矩阵进行切片

10

循环来填充R中的矩阵。

10

R中的for循环来创建矩阵

15

如何编写一个for循环来遍历R中的列

111

如何在R中使用"for“循环编写矩阵?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文