【问题标题】:Count values in a data set that exceed a threshold in R计算数据集中超过 R 中阈值的值
【发布时间】:2014-05-26 14:13:24
【问题描述】:

我有 2 个数据集。第一个数据集有一个从 0.5 到 0.001 的 p 值向量,以及满足该 p 值的相应阈值。例如,对于 0.05,该值为 13。任何大于 13 的值都具有

     V1       V2
1 0.500       10
2 0.200       11
3 0.100       12
4 0.050       13
5 0.010       14
6 0.001       15

第二个数据集只是一长串值。我需要编写一个 R 脚本来计算该集合中超过每个阈值的值的数量。例如,计算第二个数据集中有多少值超过 13,因此 p 值

这里是第二个数据集(总共 1000 个)的前 15 个值:

1    11.100816
2     8.779858
3    10.510090
4     9.503772
5     9.392222
6    10.285920
7     8.317523
8    10.007738
9    11.021283
10    9.964725
11    9.081947
12   11.253643
13   10.896120
14   10.272814
15   10.282408

【问题讨论】:

标签: r


【解决方案1】:

函数which会帮助你:

length( which( data$V1 > 3 & data$V2 <0.05 ) )

【讨论】:

    【解决方案2】:

    假设dat1dat2 都有一个V2 列,如下所示:

    colSums(outer(dat2$V2, setNames(dat1$V2, dat1$V2), ">"))
    
    # 10 11 12 13 14 15 
    #  9  3  0  0  0  0 
    

    (读作如下:9 项的值大于103 项的值大于11 等)

    【讨论】:

    • 完美。我必须根据我的列名对其进行定制,但这很棒。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 2021-12-02
    • 2019-07-04
    • 2020-03-22
    • 1970-01-01
    • 2016-03-23
    相关资源
    最近更新 更多