我拥有并擅长2个DB的数据,每个数据都有多个度量(Msr)。每个都有经典的比率数据Num/Denom=Ratio
。有人可以建议我在R中使用哪种可视化方法,以图形方式找到Test和X1数据库之间的每个度量,然后每个度量的较大差异(假设为10%以上)。
因此,我们比较第1行和第2行之间的Denom,Num,Rate。 ..然后3,4 ..然后是5,6等
试图在Excel中执行此操作,但阅读到R在此方面可能会更好。但是现在我可以看到大多数配对的viz作品都可以分散显示。我需要一些更传统的东西在我的示例中,我们可以将X1.SRB.Rare
标记为低
在我的示例中,我有3个度量,实际上可能是30个。非常感谢您提供信息。
M
db <- c('test','x1','test','x1','test','x1')
msr <- c('BCS','BCS','CCS','CCS','SRB','SRB')
denom <- c(11848,11049,35836,38458,54160,56387)
num <- c(5255,6376,16908,18124,26253,15000)
rate <- c(44.35,57.71,47.18,47.13,48.47,26.6)
df <- data.frame(db,msr,denom,num,rate)
df
db msr denom num rate
1 test BCS 11848 5255 44.35
2 x1 BCS 11049 6376 57.71
3 test CCS 35836 16908 47.18
4 x1 CCS 38458 18124 47.13
5 test SRB 54160 26253 48.47
6 x1 SRB 56387 15000 26.60
答案 0 :(得分:1)
如果我正确理解,这应该做您想要的。我调整了数据的形状,以便每个msr有一行,每个数据库有单独的列。我使用data.table
来提高性能。
library(data.table)
db <- c('test','x1','test','x1','test','x1')
msr <- c('BCS','BCS','CCS','CCS','SRB','SRB')
denom <- c(11848,11049,35836,38458,54160,56387)
num <- c(5255,6376,16908,18124,26253,15000)
rate <- c(44.35,57.71,47.18,47.13,48.47,26.6)
df <- data.frame(db,msr,denom,num,rate)
#set as a data.table
setDT(df)
#cast into one row per MSR - fill in with the "rate" variable
out <- dcast(msr ~ db, data = df, value.var = "rate")
#Compute difference
out[, test_x1_diff := test - x1]
#filter out diff >= 10
out[abs(test_x1_diff) >= 10]
#> msr test x1 test_x1_diff
#> 1: BCS 44.35 57.71 -13.36
#> 2: SRB 48.47 26.60 21.87
由reprex package(v0.2.1)于2019-01-11创建