0
注:我很新。 我中的R从R中的两列计算精度,创建汇总表
INDIVIDUALS CURRENT INFERRED
pop1_1 1 1
pop1_2 1 1
pop1_3 1 2
pop2_1 2 3
pop2_2 2 2
pop2_3 2 2
pop3_1 3 1
pop3_2 3 2
pop3_3 3 3
示出了由类(弹出)标记的独特的个体,类它们实际上属于在(CURRENT)和类的数据帧(DF),以将它们放置在由一个算法(INFERRED)。
我想要的是精度的总结,无论是按班级还是整体。因此,与上面的例子中,我喜欢的东西,看起来像:
POP CORRECT ACCURACY
pop1 2 66.7
pop2 2 66.7
pop3 1 33.3
OVERALL 5 55.6
到目前为止,我有这对整个计算:
for (i in 1:ncol(reducedresults))
{reducedresults[,i]=as.vector(reducedresults[,i])}
correct<-ifelse(reducedresults$CURRENT==reducedresults$INFERRED,1,0)
accuracy<-sum(correct)/length(correct)*100
我想我可以指定行找到的准确性每个班级,但我不知道如何强制它进入总结表,或者如果我甚至在正确的轨道上。
对于初学者来说,它总是一个好主意来存储你的组变量(这里POP)在组变量(1,2,3)中与您的个人分开,这使得聚合更容易。你在这里用'cbind(do.call(rbind,strsplit(as.character(df $ individual),split =“_”)),df)'这样做,但最好先与它们分开。 – lmo