[英]Create a pairwise comparison matrices by a rule in list format
I'd like to create a pairwise comparison matrices by a rule and put the results in list format.我想通过规则创建成对比较矩阵,并将结果以列表格式显示。 For this I have:
为此,我有:
Indv<-c(1,2)
deltametrina<-c(1,1)
fipronil<-c(5,3)
imidaclopride<-c(7,5)
sulfluramida<-c(3,7)
tiametoxam<-c(9,9)
DF<-cbind(Indv,deltametrina,fipronil,imidaclopride,sulfluramida,tiametoxam)
DF
Now, for create a pairwise comparison matrices, my rule is the variable with highest value minus smaller numeric number of each variable.现在,为了创建成对比较矩阵,我的规则是具有最高值的变量减去每个变量的较小数字。 But final matrix for each individual (Indv), must to be a vector in a list object.
但是每个人的最终矩阵 (Indv) 必须是列表对象中的向量。
My output looks like:我的输出看起来像:
[[1]]
deltametrina fipronil imidaclopride sulfluramida tiametoxam
deltametrina 1 4 6 2 8
fipronil NA 1 2 2 4
imidaclopride NA NA 1 4 2
sulfluramida NA NA NA 1 6
tiametoxam NA NA NA NA 1
[[2]]
deltametrina fipronil imidaclopride sulfluramida tiametoxam
deltametrina 1 2 4 2 8
fipronil NA 1 4 4 6
imidaclopride NA NA 1 2 4
sulfluramida NA NA NA 1 2
tiametoxam NA NA NA NA 1
This is possible?这个有可能?
Thanks谢谢
This might help you get started ...这可能会帮助您开始...
df <- as.data.frame(t(DF[, -1]))
out <- lapply(df, function(x) outer(x, x, function(x, y) abs(x-y)))
out2 <- lapply(out, function(m) {
dimnames(m) <- list(rownames(df), rownames(df))
m
})
out2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.