J'ai un dataframe non symétrique qui ressemble à ceci:

enter image description here

Je veux convertir cette trame de données en une matrice carrée en R mais je suis très perdu en ce moment. Idéalement, je veux que le résultat ressemble à ceci afin que je puisse l'utiliser dans d'autres applications. (Remarque : ce n'est qu'un fragment du vrai df qui a plus de 50 colonnes). J'espère que quelqu'un pourra aider. Merci!

enter image description here

1
Amaranta_Remedios 11 nov. 2020 à 01:34

1 réponse

Meilleure réponse

Sur la base de l'exemple, nous pourrions boucler sur les colonnes qui ne sont pas la première colonne et faire un ==, convertir en binaire avec + et mettre à jour les colonnes de l'ensemble de données

df1[-1] <- lapply(df1[-1], function(x) +(df1[[1]] %in% x & !is.na(x)))
1
akrun 10 nov. 2020 à 23:05