From 5b438d208ca3f0fe0f015cecb217b2180cb0f068 Mon Sep 17 00:00:00 2001
From: Alexander Rind <1217527+alex-rind@users.noreply.github.com>
Date: Wed, 2 Nov 2022 18:47:10 +0100
Subject: [PATCH] korr. Beziehungsgewicht & korr. Dichte=mittlerer Degree Table
1 und CSV #55
---
src/components/StatisticsTable.vue | 37 ++++++++++++++++++++++++++++++
src/data/NetworkAnalysis.ts | 18 +++++++++++++++
src/data/statisticsCSV.ts | 31 +++++++++++++++++++++++++
3 files changed, 86 insertions(+)
diff --git a/src/components/StatisticsTable.vue b/src/components/StatisticsTable.vue
index b28a297..dee178e 100644
--- a/src/components/StatisticsTable.vue
+++ b/src/components/StatisticsTable.vue
@@ -27,6 +27,21 @@
{{ naehenSum }} |
+
+
+ korrigiertes Beziehungsgewicht
+ |
+
+ {{
+ (naehenSum / networkSize).toLocaleString(undefined, {
+ minimumFractionDigits: 3,
+ maximumFractionDigits: 3,
+ })
+ }}
+ |
+
|
+
+
+ Durchschnittlicher Degree
+ |
+
+ {{
+ averageDegree.toLocaleString(undefined, {
+ minimumFractionDigits: 3,
+ maximumFractionDigits: 3,
+ })
+ }}
+ |
+
{
+ const { alterConnectable, intConnCount } = networkAnalysis.value;
+ return calculateAverageDegree(alterConnectable, intConnCount);
+ });
+
const stars = computed(() => {
const alteri = networkAnalysis.value.stars;
if (alteri.length > 0 && networkAnalysis.value.maxDegree > 0) {
@@ -176,6 +212,7 @@ export default defineComponent({
networkSize: computed(() => networkAnalysis.value.alterConnected),
naehenSum: computed(() => networkAnalysis.value.naehenSum),
density,
+ averageDegree,
stars,
isolated: makeComputedAlterGroup("isolated"),
alterZeroEdge: makeComputedAlterGroup("alterZeroEdge"),
diff --git a/src/data/NetworkAnalysis.ts b/src/data/NetworkAnalysis.ts
index 60e9116..5e7f0da 100644
--- a/src/data/NetworkAnalysis.ts
+++ b/src/data/NetworkAnalysis.ts
@@ -194,6 +194,24 @@ export function calculateDensity(
}
}
+/**
+ *
+ * Based on formula by Joseph Richter Mackensteiner (20-Mar-2022)
+ * @param alterCount
+ * @param connectionsCount
+ * @returns
+ */
+export function calculateAverageDegree(
+ alterCount: number,
+ connectionsCount: number
+): number {
+ if (alterCount < 2) {
+ return 0.0;
+ } else {
+ return (2.0 * connectionsCount) / alterCount;
+ }
+}
+
// export function calculateExternalDensity(
// alterCount: number,
// externalAlterCount: number,
diff --git a/src/data/statisticsCSV.ts b/src/data/statisticsCSV.ts
index 11825ab..f653a72 100644
--- a/src/data/statisticsCSV.ts
+++ b/src/data/statisticsCSV.ts
@@ -4,6 +4,7 @@ import {
} from "@/data/AlterCategories";
import {
analyseNWKbyCategory,
+ calculateAverageDegree,
calculateDensity,
getOrInit,
NetworkAnalysis,
@@ -42,6 +43,19 @@ export function statisticsCSV(
output += SEP + getOrInit(networkAnalysis, label).naehenSum.toFixed(0);
}
+ output += "\nkorrigiertes Beziehungsgewicht";
+ for (const label of categorization.categories) {
+ output +=
+ SEP +
+ (
+ getOrInit(networkAnalysis, label).naehenSum /
+ getOrInit(networkAnalysis, label).alterConnected
+ ).toLocaleString(undefined, {
+ minimumFractionDigits: 3,
+ maximumFractionDigits: 3,
+ });
+ }
+
output += "\nDichte der Kategorie";
for (const label of categorization.categories) {
const { alterConnectable, intConnCount } = getOrInit(
@@ -59,6 +73,23 @@ export function statisticsCSV(
);
}
+ output += "\nDurchschnittlicher Degree";
+ for (const label of categorization.categories) {
+ const { alterConnectable, intConnCount } = getOrInit(
+ networkAnalysis,
+ label
+ );
+ output +=
+ SEP +
+ calculateAverageDegree(alterConnectable, intConnCount).toLocaleString(
+ undefined,
+ {
+ minimumFractionDigits: 3,
+ maximumFractionDigits: 3,
+ }
+ );
+ }
+
output += "\nStar(s)";
output += categorization.categories
.map((label) => {
|