J'essaye de préparer des données pour être employées dans diverses applications de visualisation de réseau dans R et également Gephi. Ces formats veulent des identifiants numériques qui relient deux bases de données. J'ai trouvé la dernière partie, mais je ne suis pas en mesure de trouver une manière succincte de créer une variable d'ID numérique à travers les colonnes dans une base de données. Voici un code réplicable qui illustre ce que j'essaie de faire.Comment créer un identifiant d'identifiant unique sur plusieurs colonnes?
org.data <- data.frame(source=c('bob','sue','ann','john','sinbad'),
target=c('sinbad','turtledove','Aerosmith','bob','john'))
desired.data <- data.frame(source=c('1','2','3','4','5'),
target=c('5','6','7','1','4'))
org.data
source target
1 bob sinbad
2 sue turtledove
3 ann Aerosmith
4 john bob
5 sinbad john
desired.data
source target
1 1 5
2 2 6
3 3 7
4 4 1
5 5 4
Même si OP veut construire une nouvelle trame de données, vous pouvez créer une copie de l'original, puis attribuez-lui le résultat de votre premier code à la copie. 'desired.data <- org.data'; 'desired.data [] <- sapply (org.data, match, table = unique (unlist (org.data)))' (pour vous sauver de 'setNames (data.frame (', parce que nous devons supposer le résultat sera-t-il assigné tôt ou tard de toute façon?). +1! – Henrik
Merci pour la suggestion @Henrik Il serait probablement plus simple de créer une copie d'abord et peut entraîner moins de copies intermédiaires – lmo
Merci, pourriez-vous expliquer, brièvement, ce qui est passe ici? – elliot