r - 10 行 block 中 p 值的循环改组

标签 r algorithm rotation p-value

我是 R 的新手,我正在尝试编写一个排列来以 10 为单位旋转我的 p 值。这是我的数据头部。

> head(knockdown, n=10)
chrs position    pval gene_symbol  Site_Class
2L     4998 0.73842731     CG11023 UPSTREAM  
2L     4998 0.73842731      l(2)gl DOWNSTREAM
2L     5092 0.18879142     CG11023 UPSTREAM
2L     5092 0.18879142      l(2)gl DOWNSTREAM
2L     5095 0.15217914     CG11023 UPSTREAM
2L     5095 0.15217914      l(2)gl DOWNSTREAM
2L     5317 0.00000209     CG11023 UPSTREAM
2L     5317 0.05224209      l(2)gl DOWNSTREAM
2L     5372 0.64378453      l(2)gl DOWNSTREAM
2L     5372 0.64378453     CG11023 UPSTREAM

我想在 10 行 block 中旋转 pval 10 次,每次旋转都在 gene_symbolSite_class 中提取与以下内容相关的信息pval 小于 1e-5。由此我希望看到不同的 gene_symbol 值出现,但是它们将在 block 内保留其初始结构,即如果重要的 p 值位于第一个 block 的第 7 行,它将位于第一次旋转的第 17 行,并与不同的 gene_symbol 相关联。感谢您的帮助。

最佳答案

获取您感兴趣的 110 个 p 值的索引

idx <- which(knockdown$pval < 1e-5)

旋转如下(我认为我得到了那些 1 的正确 -- R 是基于 1 的);访问新索引处的值,例如,

step <- 10000
for (i in seq_len(1000)) {
    idx <- ((idx + step - 1) %% nrow(knockdown)) + 1
    ## do something with these?
    knockdown$gene_symbol[idx]
}

关于r - 10 行 block 中 p 值的循环改组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19286526/

相关文章:

java - 在 Java 中从数组制作直方图的最有效方法

python - 如何旋转长方体?

javascript - 跟随鼠标指针使图像旋转

c++ - Rcpp 函数在给定值 vector 及其频率的情况下查找中位数

r - 将 R 与其他非 Java 语言接口(interface)/将 R 编译为可执行文件

r - 使用 R 脚本视觉创建 data.frame 时,如何阻止 Power BI 删除重复项?

algorithm - 下面这段代码的渐近运行时间是多少?

algorithm - 最大线性维度 2d 点集

Java - 小行星 - 二维加速

r - 如何替换数据帧行中的 NA,其中行不是全部 NA