В настоящее время я работаю с igraph в R. Я создаю несколько графиков для отдельных пользователей в сети. Чтобы создать каждый из этих графиков, мне нужно прочитать несколько файлов csv. Первый файл CSV показывает взаимодействия между людьми и их дважды ассоциаций веса, который выглядит, как показано ниже:Использование одного файла csv для определения того, какие атрибуты в другом CSV-файле присутствуют на графике с помощью igraph в R
Individual1,Individual2,Weight
A,A,1
A,B,.2
A,C,.02
B,C,.5
второй CSV файл я прочитанный в ряды этих людей. В следующем формате:
Individual,Rank
A,1
B,5
C,3
D,4
E,2
Я хотел бы использовать ряды, чтобы определить размер узлов в пределах участка и с помощью кода:
plot(g, layout=layout.fruchterman.reingold,
vertex.size=V(g)$Rank +20)
Проблема у меня в том, что всегда есть люди с рангом, чем люди, наблюдаемые для данного сюжета. Есть ли способ создать оператор, который будет игнорировать всех лиц во втором CSV-файле, который отсутствует в первом CSV-файле?
если 'x' это данные из CSV 1 и' y' - это ваши данные из csv. 2. Как выглядит что-то вроде 'y [y $ Individual% in% c (x $ Individual1, x $ Individual2),]'? –
Должен был сказать, что я все еще очень новичок в Р. Я бы поставил что-то подобное в выражении if? Итак, если эти люди одинаковы, то он построит график? – Judy
'y [y $ Individual% in% c (x $ Individual1, x $ Individual2),]' вернет 'data.frame' с похожим' y', но только с строками, где 'y $ Individual' находится в' x $ Individual1' или 'x $ Individual2'. Таким образом, вы, вероятно, захотите сохранить его как новую переменную, которая будет использоваться в вашем коде для построения, а не для полного 'y'' data.frame' –