r语言 - 测试更大,但值变化

  • 本文关键字:变化 r语言 测试 r loops
  • 更新时间 :
  • 英文 :


我有一个数据集df,我想在指标上测试,有多少值大于测试阈值。例如,对于A,我想测试它有多少超过阈值1的-1,有多少超过阈值2的-0.5,阈值3的1和阈值4的2。问题是我的测试阈值对于每个A,B和c都是不同的,我该如何循环呢?

df >
A     B       C     
1     5       2     
2    12       3     
3    -1       4    
4     0       6    
5    -9     -13    
6    0.1      2     
7    1        3     

测试阈值

ID    value1 value2 value3 value4
A         -1   -0.5    1      2  
B          1    6      9     12  
C          3    3.2    3.4    3.5

A的期望输出

ID    value1 value2 value3 value4
A        7       7       6      5 

假设测试阈值存储在名为test的数据框中,您可以将其按行拆分,并使用Map来查找每个ID的输出,有多少值大于每个阈值。

Map(function(x, y) colSums(sapply(y, `<`, x)), df, asplit(test[-1], 1))
#$A
#value1 value2 value3 value4 
#     7      7      6      5 
#$B
#value1 value2 value3 value4 
#     2      1      1      0 
#$C
#value1 value2 value3 value4 
#     2      2      2      2 

最新更新