• Tidak ada hasil yang ditemukan

Raeesi SNA in R in Farsi

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Raeesi SNA in R in Farsi"

Copied!
40
0
0

Teks penuh

(1)

)نارهت کینکت یلپ( ریبکریما یتعنص هاگشناد

هذکشناد نف و رتویپماک یسذنهم ی

تاعلاطا یروآ

شرازگ یقیقحت

- نیشام یریگدای سرد یلمع

ماگ شزومآ هب

هکبض لیلحت ماگ نابز رد یعامتجا

R

هخسن 0.1

شراگن یسیئر نسحم

([email protected], ceit.aut.ac.ir/~raeesi)

داتسا

سرد

رتکد یاقآ بانج یریش

ناتسبات 0101

http://ceit.aut.ac.ir/~shiry/lecture/machine-learning/ml.html

(2)
(3)

یه َیفْت(

يته َعلبغه صا لجق بوتز دْؽ ه

ذٌتغ ).ذییبوً َعلبغه اس توغق يیا ،

ؼًاد َث دساد ذقق ،ّس ؼیپ ذٌتغه

َکجؽ لیلست بث اس ىبُّژپ سد یعبوتخا

كشرف ػساضگ يیا سد .ذٌک بٌؽآR

ىبثص بث یذز بت مشتسه ٍذًٌاْخ ،ٍذؽ یه بٌؽآ ىآ سد یغیًْ ذک ٍْسً ّR

اْرًا ىْرچ یتبهذقه َث ّس يیا صا .ذؽبث

ٍداد سبتخبع ،بُشیغته یا

َتخادشپً ... ّ َقلز ،طشؽ ، يیا بث شتؾیث ییبٌؽآ یاشث .تعا

ثزبجه َرث

"

ىبرثص برث ییبٌرؽآ

یسبهآ تبجعبسه یْعْه ذیعع ذیع َتؽًْ ،"R

ذییبوً َعخاشه یٌؽّذً

.1

دسْه سد ػساضگ يیا لّا لقف یه ىآ تبًبکها ّ َچخیسبت ،R

ظیسه .ذؽبث ،ػساضرگ يیا َیِت سد ٍدبفتعا دسْه

مشً ظیسه ساضفا

ٍداد یّبک Rapidminer یه

مشرً يریا .ذؽبث َخرغً صا ساضرفا

5 َرًّضفا ،ذرعث َرث یاشرخا یاشرث اس یا

تاسْتعد .داد َرهاسا دْرخ ظیسه سد ىآ ٍدبفتعا ّR

يریا صا ّس مّد لرقف َرًّضفا ترقً ٍْرسً َرث ،ػساضرگ

سدR

Rapidminer .دساد ؿبقتخا ىآ صا ٍدبفتعا یگًْگچ ّ

ت یاشث ًَبخثبتک يیذٌچ ىٌْکبت

َکجؽ لیلس سد یعبوتخا

ٍذؽ َهاسا ،R یْق صا یکی .تعا

َرًبخثبتک يیا يیشت برُ

igraph یه

َکجؽ لیلست ّ فاشگ فیشعت یاشث ًَبخثبتک يیا صا به ،ذٌتغه يیا سد .ذؽبث یه ٍدبفتعا یعبوتخا

.نییبروً

پیشکعا ّس يیا صا ذک ّ بُ

ا ًَبخثبتک يیا طبعا شث مسبِچ ّ مْع لقف سد ٍذؽ َهاسا یبُ

ٍذؽ َهاس یلرفا ارجٌه .ذرًا

ػصْهآ ّ تاذٌتغه ،ضیً لْقف يیا یاشث ٍذؽ ٍدبفتعا یاشث ٍذؽ َهاسا یبُ

igraph [

3,2,1 ] یره یعرع َرک ذٌرؽبث

.دْؽ َهاسا ذٌتغه يیا سد تعبٌه تبسیضْت بث ٍذؽ ؼخث ،ػساضگ يته ؼیبویپ لیِغت سْظٌه َث لریبف سد فرلتخه یبرُ

تسْرف َرث ،PDF Bookmarked

سد

ٍذهآ ذًا . یکوک اثبٌه یخشث يیٌچوُ

– ذک لثه مسبِچ ّ مْع لقف یبُ

- ٍذرؽ شبرقلا لریبف َث .ترعا

ىبگذرًٌاْخ

َتؽاد َخْت مشتسه یوً صبده یسبدت فسبقه یاشث ّس ؼیپ ذٌتغه صا ٍدبفتعا َک ذٌؽبث

.ذؽبث

ضیضع ىبگذًٌاْخ شیخ یبعد ذٌهّصسآ یغیهس يغسه

1 http://cran.r-project.org/doc/contrib/Mousavi-R-lang_in_Farsi.pdf

(4)

1

َهذقه ا ی رب ...R ...

...

...

...

1

3 - 3 سبت ی

َچخ

ٍژّشپ ...R

...

...

...

...

...

3

3 - 2 سّشه ی شث تبًبکها ...R

...

...

...

...

..

2

3 - 1 لست ی ل

َکجؽ عبوتخا ی سد ...R

...

...

...

...

2

2 بصً

ّR بؼت ی

َ ىآ رد مرً

راسفا RapidMiner ...

...

...

. 3

2 - 3 لزاشه تقً

َتغُ

لفا ی ...R

...

...

...

...

1

2 - 2 تقً

ًَّضفا سدR Rapidminer

...

...

...

...

...

4

2 - 1 سه ی ظ شکعا ی تپ

ًْ

ی ظ

ًَّضفا ...R

...

...

...

...

7

2 - 4 ا

ٍدبفتع صا سدR Rapidminer

...

...

...

...

...

8

3 زاطلذه ی فارگ ...

...

...

...

...

12

1 - 3 تخبع فاشگ ...

...

...

...

...

...

34

1 - 2 ا ی دبد فاشگ صا

ّس ی بف ی ل ث ی

ًّش ی ...

...

...

...

...

36

1 - 1 سبکتعد ی سد سبتخبع فاشگ ...

...

...

...

...

37

1 - 4 جاشختعا بغوُ

ی گ ی ی لب بُ

...

...

...

...

...

37

1 - 5 نعس فاشگ ...

...

...

...

...

...

38

1 - 6 عشتعد ی

ّ غت یی ش تبفف

،فاشگ

ٍشگ بُ

ّ ی لب بُ

...

...

...

...

23

4 لحت ی ل

َکبش ػاوتجا ی ...

...

...

...

...

24

4 - 3

َجعبسه اًْا سبعت ی ف ضکشه ی ت

ٍشگ ...

...

...

...

...

24

4 - 2 لست ی ل ی ک فاشگ بتجغً

گسضث ...

...

...

...

...

27

4 - 1 سبتخبع ی ثب ی بوتخا ...

...

...

...

...

. 13

4 - 4 کْلث بُ

ی

ٍذٌجغچ ...

...

...

...

...

..

11

5 غجاره ...

...

...

...

...

...

35

تضرِف ّ لاکشا

لّاذج

لکؽ 3 .

ْگْل ی

ٍژّشپ ...R ...

...

...

...

2

لکؽ 2 . بوً

یی صا ی ک ی صا لزاشه تقً

مشً

ساضفا ...R ...

...

...

1

لکؽ 1 . سه ی ظ لْغٌک مشً

ساضفا ...R ...

...

...

...

4

(5)

لکؽ 5 .

َفبضا ىدشک غته ی بُش ی سه ی غ ی ظجتشه

َث ظٌت ی تبو

ًَّضفا ...

...

...

6

لکؽ 6 .

َفبضا ىذؽ آ ی يک سدR ساضثاساًْ

ًبقْف ی ...

...

...

...

7

لکؽ 7 . بوً

ی لک ی

ًَّضفا سدR

Rapidminer ...

...

...

...

8

لکؽ 8 . وع شگل بُ

ی سدR ساضثاساًْ

...

...

...

...

...

8

لکؽ 9 . آی يک بضف ی سبک ی بُ

ی فلتسه سد Rapidminer ...

...

...

9

لکؽ 33 . لزاشه خر ی

ٍش

ٍداد بُ

ی سدR Repository ...

...

...

...

9

لکؽ 33 .

ٍْسً

فثشعت خّشخ ی شگلوع Execute Script (R) ...

...

...

33

لکؽ 32 . لذه آشف ی ذٌ

لک ی لزاشه لست ی ل فاشگ پْلک

َتاسبک ...

...

...

33

لکؽ 31 . تً

ی

َد سبتخبع ی ثب ی مبدًا

ٍذؽ سد آشف ی ذٌ

شْف ...

...

...

....

33

لکؽ 34 . فاشگ ىّذث تِخ ...

...

...

...

...

32

لکؽ 35 . فاشگ تِخ ساد ...

...

...

...

...

32

لکؽ 36 .

ًَْوً

ا ی صا ی ک

َکجؽ ث ی قه ی طب . تغق بُ

َث تسْف گًس ی ىبؾً

ٍداد

ٍذؽ ذًا . ...

...

39

لکؽ 37 . فاشگ نعس

ٍذؽ سد سه ی ظ tkplot ...

...

...

...

23

لکؽ 38 . فاشگ

َع ذعث ی نعس

ٍذؽ بث rglplot ...

...

...

...

23

لکؽ 39 . ه ی گًب ی ي

َخسد طبقً

سد فاشگ بضق یی ...

...

...

...

22

لکؽ 23 . ی ک فاشگ فدبقت ی

َک گًس ی لب بُ

ی ىآ شث طبعا گًس

ٍشگ بُ

بوته ی ض

َتؾگ تعا . ...

....

21

لکؽ 23 . فاشگ ی

َک Degree centrality

ٍشگ بُ

ی ىآ سد سبٌک شُ

ٍشگ

َتؽًْ

ٍذؽ تعا . ...

...

25

لکؽ 22 . ضکشه ی ت Betweenness

ٍشگ بُ

ی فاشگ ...

...

...

...

26

لکؽ 21 . ضکشه ی ت Closeness

ٍشگ بُ

ی فاشگ ...

...

...

...

26

لکؽ 24 . ضکشه ی ت Eigenvector

ٍشگ بُ

ی فاشگ ...

...

...

...

26

لکؽ 25 . صْت ی ا

َخسد بُ

ی دّسّ

ی فاشگ بضق یی ...

...

...

...

28

لکؽ 26

" . سبتخبع بوتخا "

سد فاشگ ی ک

َکجؽ عبوتخا ی ...

...

...

. 13

لکؽ 27 . تبعبوتخا

َث تعد

ٍذهآ بث سْگلا ی نت fastgreedy

ّس ی

َعْوده

ٍداد پْلک

َتاسبک ...

12

لکؽ 28 . تبعبوتخا

َث تعد

ٍذهآ بث سْگلا ی نت Spinglass

ّس ی

َعْوده

ٍداد پْلک

َتاسبک ...

. 12

لکؽ 29 . سبتخبع کْلث ذٌث ی گذٌجغچ ی

َث تعد

ٍذهآ ...

...

...

....

14

(6)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

همدقم 1

رب یا

R

ىبثص ،R کی

َهبًشث ىبثص

ًْ

یغی سه ّ ظی مشً

ساضفا ی اشث ی بجعبسه سبهآ ت ی لست ّ لی تعا ٍداد َرث ىبثص يیا ٍصّشها .

ٍداد ّ یسبهآ یبُسبک یاشث یوعس شیغ دساذًبتعا کی ىاٌْع یره ذشغه یّبک

ذرؽبث [ 4 ] ىبرثص يریا . َخرغً ترقیقز سد

يته مشً صبث ساضفا یهS ذؽبث [ 5 ].

ىبثص مشً ظعْتR تپیشکعا ظیسه ّ ىبثص شغفه لهبؽ َک مبً يیوُ َث یساضفا

یرغیًْ

ؾپ تعا یه یًبجیت .ددشگ

ا يی مشً

ساضفا

، يتهصبث

ّ ٍدْث

ٍصبخا تست هْوع َهبً

ی

ًبگوُ

ی َضشع ٌْگ یه

.دْؽ

َخغً

یبُ

R

ىبگیاس تسْقث اًْا یاشث ّ

نتغیع یبُ

صّذٌیّ( لهبع که ،

ایصْت اًْا ّ )ظکٌْیل یبُ

ٍذؽ َهاسا .ترعا

یلرفا َترغُ

مشً

ساضفا ٍاشروُ َرثR صا ؼیرث

4133 َرًبخثبتک برث ظجتشره ىآ

، َهجرؽ سد CRAN

(comprehensive R archive

network) یه ىاشثسبک طشتعد سد

.ذؽبث بث ظجتشه اثبٌه ىضخه َک َکجؽ يیا یهR

ٍبگرؾًاد یبُسّشرع صا ،ذؽبث یبرُ

یساذِگً یاشث ىبِخ شعاشع فلتخه ىبجیتؾپ َخغً يتفشگ ّ

صا

ٍداد يیا یه ٍدبفتعا بُ

1ذٌک . یهلارعا ضریضع يِیه سد

د ،ضیً به صا یکی ذِؾه یعّدشف ٍبگؾًا

َخغً یساذِگً ضکاشه یبُ

یهR

2ذؽبث .

شضبز لبز سد َچ شگا

ىبجیتؾپ یسبدت تکشؽ چیُ

یوعس R دساذً ٍذِع شث اس

َهجؽ بها ،

ًبجیترؾپ یورعسشیغ ی

مبیپ قیشع صا ىآ یتًشتٌیا یبُ

r-help تعا طشتعد لثبق .

شضبز لبز سد یرث ّ لهبك یساضفا مشًR

ا ّ ترغیً ـرقً

ص

یه لبجقتعا ىآ َععْت ّ ذلافا یاشث ىاشثسبك تادبٌِؾیپ صا ،ذؽبث یه نُ ىبگیاس ّ داصآ َك بدًآ ذٌك

.

1 - 1

ٍژّرپ َچخیرات

R

ٍژّشپ لبع سدR

3993 ٍبگؾًاد سبهآ ٍّشگ سد Auckland

ذٌلیصْیً سْؾک ىبریٌث .دسْخ ذیلک

ٍژّشرپ يریا ىاسازرگ

ىبیبقآ oss Ihaka ّR

obert Gentelman

َخّ .ذًدْث R یره شرفً سد يریا مبرً یاذتثا ضیً ىبثص يیا َیوغت

ذرؽبث سد(

" َث ٍژّشپ يیا ٍبگؾًاد يیا سبهآ ىبوتسبپد R&R

یه فّشعه ضیً "

).ذؽبث . صا لهؾته یویت شضبز لبز سد 39

لبرز سد شفً

َععْت یه ذشع يیا ذٌؽبث

.

لبع سد سبث يیلّا یاشثR 3991

سد .ذیدشگ یفشعه یهْوع سْع َث 3995

چبه يیتسبه ذرعبقته اس تشثاس ّ طاس ،شل

،ٌْگ صْده تست بت دْوً

مشً کی َث اسR ترغیل ذعث لبع کی .ذٌیبوً لیذجت ىبگیاس ساضفا

بیاس َرهبً

یهْروع ٍژّشرپ يریا

( ذیدشگ دبدیا R-help

ّ R-devel )

َععْت ىآ کوک َث َک ظجتشره شگیذرکی برث ىبرِخ شرعاشع سد ىاشثسبک ّ ىبگذٌُد

یه سد .ذًذؽ 3997

یلفا َتغُ

َععْت ٍذٌُد ٍژّشپ یبضعا صا یخشث لهبؽ َکR

S-Plus يریا .ذرؽ دبردیا ذًدْث ضیً

1 http://cran.r-project.org/mirrors.html

2 http://cran.um.ac.ir/

(7)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

.تؽاد ٍذِع َث اس َهبًشث ذک شث تسبظً ّ لشتٌک َفیظّ ،ٍّشگ ػلارت بث

َعرعْت یبرُ

لبرع سد ،ىبگذرٌُد 2333

يیرلّا

َخغً

ٍذؽ َهاسا َخغً يیشخآ .ذیدشگ َهاساR

مشً يیا ساضفا 2.13.1 یه سد َک ذؽبث 8

/ 7 / 2333

ٍذؽ شؾتٌه .تعا

لکش 1 . یْگْل ٍژّرپ R

1 - 2 تاًاکها رب یرّره

R

بث ىدشكسبك یاشث یساضفا مشً تبًبهها صا لهبك َعْوده كیR سادْوً نعس ّ َجعبسه ّ بُ ٍداد

.ذؽبث یه َرلوخ صا

تبًبهها یه َعْوده يیا :دشک ٍسبؽا شیص دساْه َث ىاْت

َهبًشث ىبثص  ع یغیًْ

تسبجع لهبؽ َتفشؾیپ ّ ٍدب ّ َقلز ،یعشؽ یبُ

اثاْت ّ یتؾگصبث . ...

ٍشیخر تبًبهها  یثبیصبث ،

ٍداد یسبکتعد ّ بُ

َعْوده  یْق یا بُشگلوع صا ی

تبجعبسه ی

َیاسآ ظیشتبه ّ بُ

بُ

َتغث  مشً یبُ

یساضفا ذٌوتسذق َیضدت یاشث

ّ لیلست یسبهآ

ًَبخثبتک 

ٍداد تبیلوع مبدًا یبُ

دبری ّ یّبرک يیرؽبه یشیگ

َترعد ذرًٌبه َرؽْخ ،یذرٌث

لریلست ،یذرٌث

َکجؽ ... ّ یتیْقت یشیگدبی ،یعبوتخا

َیضدت یاشث یهیفاشگ تبًبهها 

ّ

ٍداد لیلست ّ بُ

سادْوً نعس

ًَبخثبتک  یبُ

ٌَیهص سد یلیلست تبیلوع مبدًا یاشث ٍسْظٌه ؿبخ یولع فلتخه یبُ

تهشف تاذٌتغه یاساد  یاشث نظٌه ّ ٍذؽ یذٌث

دبفتعا صا ٍ

ًَبخثبتک ّ ىبثص ظجتشه یبُ

1 - 3

َکبش لیلحت رد یػاوتجا

R

َکجرؽ یصبرعسْقه ّ لریلست یبُساضثا يیشتوِه صا یکی ،یسبردت ّ کریهدبکآ ٍصْرز سد یعبروتخا

یرهR .ذرؽبث

َتغث یبُ

igraph ، statnet ، ،sna egonet ، snort ىآ َلوخ صا ... ّ یه بُ

صا به ػساضگ يیا سد .ذؽبث igraph

ىاٌْع َث

ثا یه ٍدبفتعا ساض

ٍداد سبتخبع .نیٌک یا

igraph بث گٌُبوُ

statnet ّ

یهsna .ذؽبث

(8)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

بصن 2

مرن رد نآ هیبعت و R

راسفا

RapidMiner

صا ٍدبفتعا یاشث مشً سدR

ذٌوتسذق ساضفا Rapidminer

یلفا َتغُ اذتثا ذیبث َرًّضفا ظپرع ّ نیرٌک ترقً اسR

سد َعْثشه Rapidminer

بوً نیظٌت ّ لبعف اس .ذؽ نیُاْخ بٌؽآ تبیلوع يیا لزاشه بث َهادا سد .نیی

2 - 1 یلصا َتطُ بصً لحاره

R

مشً یلفا َتغُ تقً یاشث ساضفا

تیبرع َث َک تعا یفبکR project.org

- www.r ؼرخث َرث ّ ٍدشرک َرعخاشه

دْلًاد طسدآ ،َسفف يیا سد .ذیّشثCRAN

بع صا یداذعت یبُ

تی ٍژّشپ َک ییبُ

یره ٍشیخر ىآ سدR .دساد ساشرق دْرؽ

تیبع يیا یهبوت یاْتسه ىآ صا یکی ةبختًا بث يیاشثبٌث ،تعا ىبغکی بُ

َلزشه يیا سد .ذیّشث دْلًاد َسفف َث بُ

صا ظپ

ةبختًا دْخ لهبع نتغیع

، بوؽ یاشث کٌیل ّد یه ٍداد ؼیبوً

دْؽ :

3 . یلفا َتغُ :base َث َیلّا تقً یاشث َکR

.ذیساد صبیً ىآ

2 . contrib

َتغث : مشً یبُ

ّ ٍذؽ دبدیا ىبِخ شعاشع ىاشثسبک ظعْت َک یساضفا

َععْت نیت ظعْت ىبگذرٌُد

یه تیشیذه .دْؽ

لکش 2 مرً بصً لحاره زا یکی زا ییاوً . راسفا

R

(9)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ىآ صا نیساد ذقق به َک بخ َرٌیضگ یّس ،نیٌک تقً سبث يیلّا یاشث اسR

َخرغً يیشتذریذخ ّ ٍدشرک کریلکbase

یه دْلًاد اس َعْثشه ىآ صا .نییبوً

نتغیع یّس ٍذًسبگً ظعْت ٍذؽ تقً َخغً َک بخ

یره صّذرٌیّ لرهبع ذیبرؽ ،ذرؽبث

نتغیع شگید ىاشثسبک ٍدبفتعا دسْه َهادا تبسیضْت صا یخشث لهبع

.ذؽبجً بُ

تقً

یه ٍدبع سبیغث ییاشخا لیبف یّس صاR بک بٌِت ّ ذؽبث

اس تقً لزاشه ییاشخا لیبف یّس شث کیلک بث تعا یف

یّس صا Wizard .ذیُد مبدًا

تًٌْپهبک ،تقً َؽْپ لیجق صا یتبعلاعا ذیبی تقً لزاشه سد دْرؽ ترقً ذیبث َک ییبُ

( لکؽ 2 ) .ذییبوً دساّ اس ... ّ یه بوؽ تقً صا ظپ

( لْغٌک کی صا ٍدبفتعا بث ذیًاْت لکؽ

1 تپیشکرعا يتؽًْ ّ ) یبرُ

ىبثص َث َعْثشه مشً يیا تبًبکها صاR

.ذییبوً ٍدبفتعا ساضفا

لکش 3 مرً لْطٌک ظیحه . راسفا

R

2 - 2 ًَّسفا بصً

رد R Rapidminer

مشً

ساضفا Rapidminer َخغً صا

5 ذعث َث

، ًَّضفا فا دْخ تبًبکها َث اسR

یره بوؽ ًَّضفا يیا کوک َث .دّض ذریًاْت

ظیسه صا Rapidminer

يتؽًْ یاشث تپیشکعا

یبُ

لّژبه دبدیا ّR ؼرخث شرگید سد ٍدبفترعا لثبق یبُ

ٍدبفترعا ،برُ

.ذیٌک ًَّضفا تقً یاشث یْرٌه صا َرک ترعا تسْف يیذث ییاذتثا َلزشهR

َرٌیضگ ،help Update Rapidminer

اس

(10)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

یه ةبختًا شث ظپع ّ ذیٌک

ٌَیضگ یّس install

ذییبوً کیلک (

لکؽ 4 ) صا شرظً دسْره َرًّضفا ،سبرک يریا مبدًا صا ذعث .

یه تقً ّ ٍذؽ دْلًاد تًشتٌیا ذیبث لزاشه َیقث مبدًا یاشث .ددشگ

یره ىبریث َرهادا سد َک یتبویظٌت مبدًا ظپ ،ددشرگ

Rapidminer ادذده اس

ٍاس یصاذًا ذیٌک .

لکش 4 ًَّسفا ىدرک يشّر . ردR

Rapidminer

َیقث تقً لزاشه ؼخث نیظٌت َث ،R

یه طْثشه فلتخه یبُ

یه مبدًا شیص تسْف َث َک دْؽ دشیزپ

:

3 .

ٍاس صا ذعث تعبٌه َخغً یصاذًا

مشً َتغث ذیبث بوؽ ،R یساضفا

rJava صا اس .ذییبوً تقً ّ دْلًادCRAN

ک ظیرررسه َرررث سْرررظٌه يیذرررث لْرررغٌ

تسبرررجع ىآ یرررغیًْ تپیشکرررعا لرررسه سد ّ ذررریّشثR

install.packages("rJava") َرث َترغث يریا ذیرؽبث لقته تًشتٌیا َث َک یتسْف سد .ذییبوً پیبت اس

یه تقً ّ دْلًاد سبکدْخ تسْف .ددشگ

2 . تسبجع .libPaths() َرؽْپ صا یکی سد .ذیٌک پیبت لْغٌک سد اس

َترغث ،ٍذرؽ ٍداد ؼیبروً یبرُ

rJava

قً

ٍذؽ ت ىدشک صبث مبگٌُ یاشث اس طسدآ يیا .تعا Rapidminer

.ذیسبپغث شعبخ َث

(11)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

1 . ذیْؽ يئوغه َک يیا یاشث Rapidminer

یره َرًبخثبتک ذرًاْت یبرُ

یبرُشیغته ذریبث ،ذرٌک اذریپ اسR

یغیسه نتغیع1

نعا َک ذیٌک تقد .ذییبوً نیظٌت اس دْخ لهبع ّ کرچْک فّشز َث طبغز شیغته يیا

یه گسضث ذؽبث

ته  شیغ ساذقه بث اسPATH

<R installation directory>\bin َرًْوً ىاْرٌع َرث .ذییبوً دساّ

َثبرؾه ذریبث ساذقه يیا C:\Program Files\Rapid-I\RapidMiner5\jre\bin

.ذرؽبث يریا

لیبف لهبؽ ذیبث َؽْپ

2dll یبُ

مشً

ساضفا

ًَبخثبتک ّR يریا َرک ذریٌک ترقد .ذؽبث ظجتشه یبُ

ف لهبؽ ذیبث َؽْپ لیب

R.dll .ذؽبث

بوؽ لهبع نتغیع یغیسه یبُشیغته سد َچًبٌچ  JAVA_HOME

اّبخ تقً َؽْپ َث َک ی

.ذییبوً َفبضا ضیً اس شیغته يیا ذیبث ؛دساذً دْخّ ،ذٌک ٍسبؽا

َک یتسْف سد َرًبیاس یّس ضیً اّبخ

یروً تقً بوؽ ،ذرؽبث

ساذرقه

<RapidMiner installation directory>/jre يریا یاشرث اس

ته ػبرسل صا ذریبث بورؽ ًَبیاس یّس ٍذؽ تقً یاّبخ َک ذیٌک تقد .ذییبوً دساّ شیغ 12

بری 64

قثبغه ،ىدْث تیث ّR

Rapidminer .ذؽبث

لکش 5 ًَّسفا تاویظٌت َب ظبتره یطیحه یاُریغته ىدرک َفاضا . R

1 Environment Variable

2 dynamic link library

(12)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

شیغته  R_HOME اذرقه .ددشگ َفبضا یغیسه یبُشیغته َث ذیبث ضیً

َخرغً َرؽْپ َرث يریا س

ٍذرؽ تقً

لبرثه ىاْرٌع َرث( .ذرٌک ٍسبرؽاR D:\Program Files\R\R-2.13.0

) لکرؽ 5

یه ىبؾً اس شیغته يیا نیظٌت یگًْگچ .ذُد

4 . یه بوؽ َلزشه يیا سد مشً ذیًاْت

ساضفا Rapidminer صا لجق .ذیٌک صبث اس

َسفرف ،َرهبًشث سبک َث ّشؽ یا

وؽ َث یه ٍداد ؼیبوً ب َترؽًْ ىآ یّس تقً لزاشه َک دْؽ

َروکد یّس .ترعا ٍذرؽ سد .ذریٌکNext

یه َتعاْخ بوؽ صا یذعث َسفف ًَبخثبتک طسدآ دْؽ

بث یjri rJava

ٍدشک تقً

.ذرییبوً ـخؾه اس ذیا

طسدآ سْظٌه يیذث libPaths

َلزشه صا اس 2

َرث ّ ذیسّبیث شعبخ َث

<libpath directory>/rJava/jri/

لیبف َؽْپ يیا سد .ذیّشث jri.dll

.ذییبوً ةبختًا اس

5 . یه َتغث َهبًشث ،ذیؽبث ٍدشک ةبختًا اس ٍذؽ ـخؾه لیبف شگا مشرً ٍسبرثّد .دْرؽ

ساضرفا Rapidminer اس

َچًبٌچ .ذییبوً اشخا

ٍذؽ تقً تیقفْه بث ًَّضفا ذؽبث

دسْرخشث اشرخا مبرگٌُ سد ییبرغخ سْتعد چیُ بث ،

.دشک ذیُاْخً

یا شیغ سد ف لزاشه صا یکی بوتز تسْف ي

ٍداذً مبدًا یتعسد َث اس شْ

.ذیا

ذیبث ،ًَّضفا ریسف تقً تسْف سد تهلاع ذیبث َهبًشث ىذهآ لابث صا ظپ

قثبرغه( یًبرقْف ساضثا ساًْ سدR لکرؽ

6 )

ٍذؽ َفبضا .ذؽبث

لکش 6 يکیآ ىذش َفاضا . راًْ ردR

یًاقْف راسبا

2 - 3 ظیحه تپیرکضا

صیًْ

ًَّسفا

R

ظیسه مشً سدR

ساضفا Rapidminer

ٍذؽ َیجعت یغیًْ تپیشکعا تسْف ىبوُ َث تعا

[ 6 ].

لکؽ 7 یرلک یبروً

ٍداد ىبؾً ىآ

ٍذؽ ظعّ توغق سد .تعا تپیشکعا يتؽًْ ىبکها بوؽ ،يییبپ

ىدص برث .ذریساد اس شرظً دسْره یبُ

Enter

تپیشکعا يیا یه اشخا بُ

ؼیبوً( ىآ یلابث لْغٌک سد ىآ حیبتً ّ ذًْؽ ٍداد ىبرؾً )ضجرع گرًس بث ٍذؽ ٍداد

یره .ذًْرؽ

یه دبدیا َهبًشث بث سبک يیز سد َک ییبُشیغته یه ٍداد ؼیبوً پچ توع لٌپ سد ذیٌک

.ذًْؽ اس یسادْروً بورؽ َچبٌچ

(13)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ىبؾً لٌپ سد ،ذیٌک نعس یبوً یثآ گًس بث ٍذؽ ٍداد

یه ٍداد ؼ یه اس ٍذؽ نعس لکؽ .دْؽ

لرٌپ َرؽْگ َوکد بث ذیًاْت

تهشف اًْا سد لٌپ يیا صا ماذک شُ ىاٌْع یّس کیلک سبثّد بث .ذییبوً ٍشیخر شیْقت یبُ

ىآ ،بُ

َسفرف مبوت تلبز َث بُ

بوؽ َک یتسْف سد .تعبوٌُاس لٌپ ،دساد دْخّ َسفف يیا سد َک یلٌپ يیشخآ .ذهآ ذٌُاْخ سد ظکعشث ّ یره

ذریُاْخ

سْتعد یبوٌُاس َث یه ،ذیٌک اذیپ یعشتعدx

تپیشکعا کوک َث ذیًاْت .ذیُد مبدًا اس سبک يیا? x

لکش 7 ًَّسفا یلک یاوً . ردR

Rapidminer

2 - 4 زا ٍدافتضا رد R

Rapidminer

صا ٍدبفتعا یاشث یزاشع ظیسه سدR

Design) )

، َعْوده شگلوع

د یفْقخه یبُ

ظیسه س Rapidminer

َیجعت

ٍذؽ .تعا لکؽ 8 یه ىبؾً اس بُشگلوع يیا .ذیُد

شگلوع يیا صا یخشث یه ٍسْظٌه مبع یخشث ّ ٍسْظٌه ؿبخ بُ

.ذٌؽبث

لکش 8 رگلوػ . یاُ

راسباراًْ ردR

(14)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

سد Rapidminer ( یسبک ظیسه ذٌچ

Perspective دْخّ )

نِه .دساد ىآ يیشت

:صا ذٌتسبجع بُ

3 . یزاشع ظیسه :

یبضف سبک

ٍداد سبک ىبیشخ دبدیا یّبک

.

2 . ظیسه حیبتً

: یبضف سبک

ٍذهآ تعذث حیبتً ٍذُبؾه .

1 . ظیسه :R یبضف سبک تپیشکعا ىبثص َث یغیًْ

.R

لکش 9 یراک یاضف يکیآ . رد فلتحه یاُ

Rapidminer

اْتث َک يیا یاشث

ٍداد نیً

یبُ

ظیسه سد ذیبث اذتثا ،نییبوً دساّ یزاشع ظیسه سد اس R ىآR

اس بُ

سد کری ىاْرٌع

Repository َث .نییبوً ٍشیخر

ًَْوً ىاٌْع سد ،

لکؽ 33

ٍشیخر

َعْوده َتاسبک ٍداد

ٍذؽ ٍداد ىبؾً

تعا .

لکش 11 . لحاره

ٍداد ٍریخر یاُ

ردR Repository

یه یزاشع ظیسه َث لبز ( ىذیؾک بث ّ ،نیّس

اجٌه )ىدشکDrag

ٍداد یبوً َث َتاسبک Process

ذرٌیآشف سد اس ىآ ،

ٍداد یه دساّ یّبک .نییبوً

ؼیپ سْع َث یثبیصبث شگلوع كشف

( Retrive )

َعْوده یسازگسبث یاشث

ٍداد

، یلرفا ذرٌیآشف َرث

یه َفبضا ددشگ

شتهاسبپ بٌِت ّ ىآ

-

َک Repository Entry

،تعا - یه شپ سبکدْخ تسْف َث .دْؽ

(15)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

شرگلوع کری یدّسّ َث اس یلجق شگلوع یخّشخ Execute Script (R)

شرگلوع کری ،شرگلوع يریا .ذریٌک لرفّ

مبع تپیشکعا ّ تعا ٍسْظٌه یبُ

ٍاْخلد یه اشخا اس .ذیبوً

مبرً ،تپیشکرعا شتهاسبرپ َرع ذریبث شرگلوع يریا نیظٌت یاشث

یدّسّ

بُ

یخّشخ ّ .نیرُد مبردًا بوتخا یثبیسبتخبع ،َتاسبک فاشگ یّس نیساد ذقق به .ذییبوً دساّ اس بُ

ذرک يیاشثبرٌث

.تعا شیص تسْف َث تبیلوع karate

َعْوده ىبوُ ، .تعا یدّسّ ٍداد

library('igraph') graph <- karate

graph <- simplify(graph)

spc <- spinglass.community(graph, spins=20) result <- as.data.frame(spc$membership)

ـخؾه یبُشیغته گًس بث ٍذؽ

ضهشق یخّشخ ، تپیشکعا يیا یبُ

.ذٌتغُ

شْرف شرگلوع یاشرث یرخّشخ ًْ ّد لاک

:دساد دْخّ

3 . Generic R Result

َیاسآ ،بُسْتکّ ،بُشیغته اًْا لهبؽ َک : ... ّ بُ

یه R یرخّشخ يریا .دْؽ برٌِت برُ

ػصادشپ لثبق شگلوع یاشث

ًَّضفا یبُ

.ذٌتغُR

2 . Data Table لدبعه یخّشخ يیا :

data frame سد

سد یرخّشخ ْرً يریا ظٌرخ ذریبث بوتز .تعاR

َث ،تپیشکعا data frame

ٍذرؽ لیذجت .ذرؽبث

شرگلوع یاشرث تپیشکرعا حیبرتً ذریُاْخث َرچًبٌچ یبرُ

Rapidminer

ٍداد ؼیبوً لّذخ تسْف َث ّ ذؽبث نِف لثبق ا ذیبث ،دْؽ

.ذیٌک ٍدبفتعا ًْ يیا ص

َتؽاد َخْت یخّشخ فیشعت تیتشت َک ذیؽبث

نِه شگلوع يیا سد بُ

تشپ َک یسْع َث .تعا ىبروُ َث یخّشخ یبُ

تیتشت شتهاسبپ سد ٍذؽ فیشعت Result

، یه شپ .ذًْؽ

لکش 11 رگلوػ یجّرخ فبرؼت ٍْحً . Execute Script (R)

(16)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ذقق َک بدًآ صا سد ّ نعس اس يیؾیپ یثبیسبتخبع حیبتً نیساد

Clipboard کری ،نییبروً ظجرض شیْرقت تسْف َث

یه دبدیا شگید شگلوع .ذُد مبدًا اس تبیلوع يیا َک نیٌک

library('igraph')

res <- as.data.frame(spc$csize) x11()

plot(graph, layout=layout.kamada.kawai(graph), vertex.size=5, vertex.label=NA, vertex.color=spc$membership+1, asp=FALSE) savePlot(filename = "clipboard", type = "png")

سد لابث لزاشه ،یلک ذٌیآشف لذه لکؽ

32

َدیتً ّ یاشخا سد یثبیسبتخبع لکؽ

31

ٍداد ؼیبوً

ٍذؽ .ترعا َرتجلا

ث

َخْت ذیب تؽاد

،

ًَّضفا یلعف تعا یسبیغث تلاکؾه یاساد صٌُْ ،R َرخاْه یتلاکرؾه برث تاسْتعد صا یخشث یاشخا ّ

تعا یه ىآ َلوخ صا .

َتغث َث ىاْت نعس حیبتً ٍشدٌپ ىذؽ

ٍذؽ

،ذٌیآشف یاشخا مبوتا بث .دْوً ٍسبؽا

لکش 12 یلک ذٌیآرف لذه . فارگ لیلحت لحاره

َتاراک پْلک

لکش 13 ماجًا یبایراتخاض َجیتً . قْف ذٌیآرف رد ٍذش

(17)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

فارگ یزاسلدم 3

ىآ صا ًَبخثبتک شث به سبک طبعا َک بخ igraph

سد فاشرگ یصبرغلذه ٍْرسً َهادا سد ،تعا ساْتعا اس َرًبخثبتک يریا

یه یعسشث .نییبوً

لبی( یشٌیبث طبجتسا کی فاشگ بضعا يیث )بُ

ٍشگ( َعْوده کی ی نرُ برث َرک یْضع ّد شگا .تعا )بُ

ىآ ،ذٌؽبث تیتشت ىّذث ذًساد َغثاس ( تعا تِخ ىّذث فاشگ ٍبگ

لکؽ 34 یه ساد تِخ فاشگ ًَشگّ ) ( ذؽبث

لکؽ 35 .)

لکش 14 تِج ىّذب فارگ .

لکش 15 راد تِج فارگ .

ٍشگ ٍساْوُ

ٍسبوؽ شفف صا بُ

یه یسازگ بت ةّبٌته تسْف َث ّ دْؽ

یه َهاداn-1 فاشرگ سد َرًْوً ىاْرٌع َرث .ذثبی

لکؽ 34 ، ،A=0 ،B=1 یه .... ّC=2

.ذؽبث فاشگ فیشعت یبُ

لکؽ 34 ّ لکؽ 35 سد یره شریص تسْرف َثR :ذرؽبث

ًَبخثبتک صا ٍدبفتعا یاشث َک ذیؽبث َتؽاد َخْت یبُ

igraph بث اس ىآ ذیبث اذتثا

library(igraph) یسازرگسبث

.ذیٌک

## Load the igraph package library(igraph)

## Create a small graph, A->B, A->C, B->C, C->E, D

## A=0, B=1, C=2, D=3, E=4

g <- graph( c(0,1, 0,2, 1,2, 2,4), n=5 )

## Print a graph to the screen g

## Create an undirected graph as well

## A--B, A--C, B--C, C--E, D

g2 <- graph( c(0,1, 0,2, 1,2, 2,4), n=5, dir=FALSE )

(18)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد g2

یغته صا کی شُ ظٌخ َک يیا یاشث یه ،ذیٌک ـخؾه اس بُش

سْتعد صا ىاْت class

.دْوً ٍدبفتعا

## How to decide what kind of object a variable refers to class(g2)

class(1)

class("foobar")

:دْث ذُاْخ شیص تسْف َث لابث تاسْتعد یاشخا َدیتً

[1] "igraph"

[1] "numeric"

[1] "character"

اثبت کوک َث is.igraph()

یه فاشگ صا ذیًاْت :ذییبوً لفبز ىبٌیوعا یؽ کی ىدْث

## Is this object an igraph graph?

is.igraph(g) is.igraph(1:10)

لبی ّ ٍشگ داذعت ّ فاشگ سبتخبع صا یشتؾیث تبعلاعا شیص تاسْتعد ،ذؽبث فاشگ یؽ کی َچًبٌچ یه َهاسا بُ

:ذٌٌک

## Summary, number of vertices, edges summary(g)

vcount(g) ecount(g)

سْتعد تِخ یه ـخؾه اس فاشگ ىدْث ساد برغخ بیرؽا شرگید یاشرث ّ ٍذرؽ فیشعت فاشگ یاشث بٌِت اثبت يیا .ذٌک

یه یه بوؽ .ذُد فاشگ صا کی شُ ذیًاْت

تِخ یبُ

تِخ ىّذث ّ ساد فاشرگ کری َرچًبٌچ .ذرییبوً لیذرجت شگیذکی َث اس

تِخ دْؽ تِخ ىّذث ،ساد وت

لبی یهب یه لیذجت تِخ ىّذث لبی َث ظقف بُ

َرفشعّد لبری کری طبرجتسا َرچًبٌچ .ددشگ

یه لیذجت لبی کی َث لبی ّد ضیً ذؽبث تِخ َث تِخ ىّذث لیذجت سد َک تعا یلبزسد يیا .دْؽ

لبری ّد َث لبی شُ ساد

یه لذجه تؾگشث ّ تفس .ددشگ

## Is the graph directed?

is.directed(g) is.directed(g2) is.directed(1:10)

## Convert from directed to undirected as.undirected(g)

## And back

as.directed(as.undirected(g))

یه فاشگ کی سد فاشگ سد لاثه .دشک فیشعت ٍشگ ّد يیث لبیذٌچ ىاْت

E = ((AB); (AB); (AC); (BC)) :

## Multiple edges

g <- graph( c(0,1, 0,1, 0,2, 1,2 ), n=5 )

(19)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ارثاْت برث فاشرگ ىدْرث یلبری ذرٌچ بری ىدْرث ٍدبع ـیخؾت is.simple(g)

is.multiple(g) ّ

ىبکها یره ،نییبروً لیذرجت ٍدبع فاشگ َث اس َلبیذٌچ فاشگ کی نیُاْخث شگا يیٌچوُ .تعا شیزپ شریص سْترعد صا ىاْرت

.دْوً ٍدبفتعا

## Remove multiple edges g <- simplify(g)

is.simple(g)

تیلثبق صا شگید یکی یره َقْع ىدّضفا ،دساد دْخّ فاشگ یاشث ىآ فیشعت ىبکها َک ییبُ

.ذرؽبث برث simplify

َقْع فاشگ کی ىدشک .تفس ذُاْخ يیث صا ضیً بُ

## Loop edges

g <- graph( c(0,0,0,1, 0,2, 1,2, 3,4), n=5 ) is.simple(g)

is.loop(g)

## Remove loop edges g <- simplify(g) is.simple(g)

تیلثبق صا یکی یبُ

igraph

ٍشگ یسازگهبً ىبکها ،فاشگ یؽ یاشث یه بُ

.ذؽبث فاشرگ کری اذرتثا شریص تپیشکعا سد

33

ٍشگ نرُ َرث ضریً ییبرِتًا ّ اذرتثا لبی يیٌچوُ .دساد َغثاس یذعث ّ یلجق لبی بث بٌِت ٍشگ شُ( یْقلز تسْف َث یا

یه لقته ).ذًدشگ

دبدیا یه

ٍشگ یهبعا .دْؽ تیتشت َث بُ

33 یه يییعت یغیلگًا یبجفلا ییاذتثا فشز .ددشگ

## Naming vertices g <- graph.ring(10)

V(g)$name <- letters[1:10]

V(g)$name g

print(g, v=T)

ىدّضفا بث َک يیا لّا .دساد دْخّ لابث ذک سد یجًبخ َتکً ّد

$name َث تفف کی

یدشرک َفبضاV(g) سد َرک ن

ىدّضفا .تعا یعشتعد لثبق َهادا اثبت مّد َتکً .تعا ذٌیآشف يیوُ َثبؾه نُ شگید تبفف

print بره َرث َک تعا

یه ٍصبخا یه پبچ لْغٌک سد فاشگ صا َک یتبعلاعا بت ذُد

ٍشرگ لابرث ذک سد لاثه .نییبوً تیشیذه اس دْؽ َرث ضریً اس برُ

یه ٍداد ىبؾً َک یدساْه .نیدْوً َفبضا دْؽ

3 - 1 ض تخا فارگ

یبُساضثا صا یکی igraph

لبی مبً یّس صا فاشگ دبدیا یاشث graph.formula بُ

یه اثبرت يیا کوک َث .ذؽبث

شیغه تعا یفبک بوؽ بٌِت لبی يیث فلتخه یبُ

.ذییبوً ـخؾه فاشگ سد اس بُ

ترِخشیغ فاشگ کی دبدیا شیص ذک اس ساد

(20)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

یه ىبؾً

" شگلوع .ذُد

" - ( لبی شگلوع )

ىبؾً

ٍذٌُد

ّ طبجتسا دْخ یه ٍشگ ّد يیث

َرث یصبریً اثبرت يریا کروک َث .ذؽبث

ٍشگ َعْوده فیشعت .دساذً دْخّ ًَبگاذخ تسْف َث بُ

## A simple undirected graph

g <- graph.formula(Alice-Bob-Cecil-Alice,

Daniel-Cecil-Eugene, Cecil-Gordon )

" شگلوع

" : ه کی فیشعت یاشث یه ٍدبفتعا ٍشگ َعْود

.دْؽ ،ذٌرؽبث لرقته نرُ َرث لبی شگلوع بث َعْوده ّد شگا

ٍشگ یهبوت .ذًساد طبجتسا نُ بث َعْوده ّد یبُ

يیاشثبٌث شرگلوع يریا " َرث تجرغً

دساد مذرقت "- .

سد َرًْوً ىاْرٌع َرث

،شرریص تپیشکررعا Cecil:Daniel-Eugene:Gordon

ـخررؾه لبرری ٍذررٌٌک

یبررُ

Cecil-Eugene ،

Cecil-Eugene Cecil-Gordon ،

Daniel-Gordon ّ یه ـخؾه اس

.ذُد

## Another undirected graph, ":" notation g2 <- graph.formula(Alice-Bob:Cecil:Daniel, Cecil:Daniel-Eugene:Gordon )

فیشعت یاشث تِخ فاشگ

ساد

" سد یه ٍدبفتعا "+ ىبؾً شگلوع يیا .نییبوً

ذٌُد ٍ یره تِخ .ذرؽبث

َرک ذریٌک َرخْت

"

" داذعت ىدْث دبیص .َفشع کی لبی ّد ًَ ،تعا َفشع ّد لبی کی "+-+

.تعا یٌعه ىّذث لبی کی ؼیبوً یاشث بُ"-

## A directed graph

g3 <- graph.formula(Alice +-+ Bob --+ Cecil

+-- Daniel, Eugene --+ Gordon:Helen )

## "Arrows" can be arbitrarily long

g5 <- graph.formula( Alice +---+ Bob )

ٍشگ صا یخشث يیٌچوُ

یه بُ

.ذًْؽ فیشعت َلّضیا تسْف َث ذًٌاْت

## A graph with isolate vertices

g4 <- graph.formula(Alice -- Bob -- Daniel, Cecil:Gordon, Helen )

ٍاس شگید صا فاشگ دبدیا یبُ

تِخ ساد اثبت صا ٍدبفتعا ، cbind

.تعا یه اثبت يیا کوک َث صا ّد شبرقلا برث ىاْرت

ٍشگ َعْوده

َعْوده ،ذًساد ٍشگ یّبغه داذعت َث َک بُ

تتشه جّص صا یا تتشه جّص .دسّآ دْخّ َث بُ

صا َک ییبُ

تیکشت

شیظً یبضعا .ذًا ٍذهآ دْخّ َث

يیا دبدیا صا ذعث اثبرت کروک َرث تکشه َعْوده

graph.edgelist یره

ىاْرت

.دْوً دبدیا اس شظً دسْه یفاشگ

## From edge lists

el <- cbind( c(0, 0, 1, 2), c(1, 2, 2, 4) ) g <- graph.edgelist(el)

g

یه ،ٍشگ ٍسبوؽ یبخ َث اس شْف ذٌیآشف مبً بث ىاْت

ٍشگ کیلجوع یبُ

مبدًا ضیً بُ

.داد

(21)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

## Symbolic edge lists

el <- cbind( c("Alice", "Alice", "Bob", "Cecil"), c("Bob", "Cecil", "Cecil", "Ed") ) g <- graph.edgelist(el)

g

summary(g)

فاشرگ کری شریص سد .ترعا تسّبرده ظیشتبره ٍدبفترعا ،فاشگ دبدیا یاشث شگید لّاذته ػّس کی 33

سد 33 رث ب

بی ل

ٍذؽ دبدیا یفدبقت یبُ

.تعا

## Adjacency matrices

A <- matrix(sample(0:1, 100, rep=TRUE), 10, 10) g <- graph.adjacency(A)

3 - 2 یًّریب لیاف یّر زا فارگ داجیا

فاشگ مبوت

ٍداد یّس صا َک ییبُ

یه دبدیا اقاّ یبیًد یبُ

لیبف سد ،ذًْؽ یره ٍشریخر یرٌته یبرُ

صا یرکی .ذًْرؽ

،ىاشثسبک یلفا یبُصبیً

import

ٍداد يیا ىدشک سد بُ

یّس صا فاشرگ دبردیا ذٌیآشف َهادا سد .تعاR data frame

برُ

ٍذؽ ٍداد ىبؾً

سد صْرٌُ َرک یذک صا نیساد صبیً اذتثا تبعلاعا يیا ىذًاْخ یاشث .تعا igraph

ٍدبفترعا ٍذرؾً َریجعت

.نیٌک

## We need some extra code, not in the current version yet source("http://cneurocvs.rmki.kfki.hu/igraph/plus.R")

ٍشگ تیتشت َث ظپع لبی ّ بُ

.نییبوً یسازگسبث اس شظً دسْه یبُ

## Read the comma-separated value file vertices <- read.csv("

http://cneurocvs.rmki.kfki.hu/igraph/judicial.csv")

## Read the edges, just a table, space separated edges <- read.table(

"http://cneurocvs.rmki.kfki.hu/igraph/allcites.txt")

لبی تیکشت بث

ٍشگ ّ بُ

کوک َث بُ

graph.data.frame یه

.دْوً دبدیا اس فاشگ ىاْت

## And create the graph

jg <- graph.data.frame(edges, vertices=vertices, dir=TRUE) summary(jg)

یه ذیُاْخث َچًبٌچ

ٍدبفتعا یاشث اس فاشگ يیا ذیًاْت ىدشرک يرؽّس برث .ذرییبوً ٍشریخر لریبف کی سد یذعث یبُ

ٍدشؾف تیلثبق یه ؼُبک ضیً لیبف يیا ندز ،یصبع

.ذثبی

## Save it for future use

save(jg, file="judicial.Rdata.gz", compress=TRUE)

(22)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

3 - 3 اکتضد یر

راتخاض رد فارگ

لبی ّ ٍشگ ىدشک نک ّ َفبضا فاشگ یّس ایبؽ تبیلوع صا یه ىآ یبُ

.ذؽبث فاشگ توغق يیا سد ىآ لاجرق َرکg2

یه یسبکتعد نیدْوً دبدیا اس یه فزز اس ىآ لّا ٍشگ اذتثا سد .نییبوً

.نیٌک

## Remove alice

g3 <- delete.vertices(g2, 0)

ثبت کوک َث ٍشگ ىدشک َفبضا add.vertices ا

یه مبدًا یدّسّ .دْؽ

یرُشگ داذرعت ّ فاشرگ اثبت يیا یبُ

ٍذؽ َفبضا شیص تپیشکعا سد َک یذیذخ ذک .تعا دْؽ َفبضا ذیبث َک ،تعا

igraph.par یه

يریا کوک َث .ذؽبث

یه اثبت یبُشتهاسبپ ىاْت igraph

ٍشگ تبفف پبچ به لاثه .دْوً نیظٌت اس

ً یهبعا بت نیدشک لبعف اس بُ

.دْؽ ٍداد ؼیبو

## Add three new vertices g4 <- add.vertices(g3, 3)

igraph.par("print.vertex.attributes", TRUE) g4

add.vertices یه به َث ضیً اس ىبکها يیا

ٍشگ ىدشک َفبضا مبگٌُ َک ذُد ٍشرگ یهبعا

ـخرؾه ضریً اس برُ

ذؽبث تغیل تسْف َث ذیبث بوتز یهبعا یدّسّ .نییبوً

د ، تفف به شیص لبثه س

ٍشگ َث اسname یه َفبضا بُ

.نییبوً

## Add three new vertices, with names this time

g4 <- add.vertices(g3, 3, attr=list(name=c("Ha", "Ik", "Ja"))) g4

اثبت بث یتزاس َث ضیً لبی ىدشک َفبضا ،ٍشگ َثبؾه add.edges

ىبکها .تعا شیزپ

## Add some edges as well

g4 <- add.edges(g4, c(6,7, 5,7)) g4

3 - 4 یگیاطوُ جارختضا لای

اُ

فاشگ یّس ؼخث يیا ػصْهآ یه مبدًاg2

یه دبدیا اس ىآ شیص تپیشکعا بث َک دْؽ َرعبٌؽ نیُاْرخث شگا .نییبوً

سْتعد ،نیثبیث اس لبی کی as.vector

یه نُاشف به یاشث اس تیلثبق يیا .ذٌک

## Create directed example graph

g2 <- graph.formula(Alice -+ Bob:Cecil:Daniel,

Cecil:Daniel +-+ Eugene:Gordon ) print(g2, v=T)

## Get the id of the edge as.vector(E(g2, P=c(0,1)))

(23)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

نتیسْگلا صا یسبیغث سد لبی َث نیساد صبیً به بُ

یپ یعشتعد ٍشگ کی سّبده یبُ

اثبت .نیٌک اذ adj()

تریلثبق يیا

یه ساشق به سبیتخا سد اس یه ٍشگ ذٌچ بی کی اثبت يیا یدّسّ .ذُد

.ذؽبث

## All adjacent edges of a vertex E(g2)[ adj(2) ]

## Or multiple vertices E(g2)[ adj(c(2,0)) ]

تِخ یفاشگ َچًبٌچ یه ،ذؽبث ساد

لبی يیث ىاْت ا یخّشخ ّ یدّسّ یبُ

تسْرف َرث ّ ذرؽ لرهبق ضیبروت ٍشگ کی ص

.تؽاد یعشتعد کی شُ َث ًَبگاذخ

## Outgoing edges E(g2)[ from(2) ]

## Incoming edges E(g2)[ to(2) ]

تیلثبق صا یکی یبُ

ةْخ igraph یه به َک تعا يیا

لبی نیًاْت ٍشرگ صا شیغه کی يیث َک ییبُ

اس ذرًساد ساشرق برُ

.نییبوً جاشختعا ا َتجلا

.نیرُد ساشرق اثبرت یدّسّ سد اس لهبک شیغه کی َک تعا ٍدبفتعا لثبق یهبگٌُ بٌِت تیلثبق يی

ٍشگ صا یکی َچًبٌچ یه َخاْه بغخ بث ،دْؾً شکر شیغه یبُ

.نیْؽ

## Edges along a path E(g2, path=c(0,3,4))

:دْث ذُاْخ شیص تسْف َث لابث سْتعد َدیتً

Edge sequence:

[2] Alice -> Daniel [8] Daniel -> Eugene

3 - 5 فارگ نضر

یه شیص اثبت َع صا فاشگ نعس یاشث :دْوً ٍدبفتعا ىاْت

3 .

ٍدبیپ اثبت يیا .تعا فاشگ یلهبعت شیغ ّ یذعثّد ،ٍدبع نعس ،plot یهْوع اثبت یصبع

یهplot .ذؽبث

2 . tkplot یه فاشگ یلهبعت ّ یذعثّد نعس یاشث یعثبت ، صا َک ذؽبث

ًَبخثبتک tcltk

یره ٍدبفتعا يریا .ذرٌک

اثبت یاشث نعس فاشگ یبُ

ی بت ظعْته ٍصاذًا –

ٍشگ ساضُ ذٌچ شثکاذز -

یه ٍدبفتعا اثبٌه فشقه اشیص ،دْؽ

کوک َث .تعا دبیص ىآ tkplot

یه یگژیّ صا یخشث ىاْت .داد شییغت اشخا ىبهص سد اس فاشگ یبُ

1 . rglplot

َع نعس یاشث یؾیبهصآ اثبت کی : یذعث

صا َرک ترعا ارثاْت OpenGL

یره ٍدبفترعا .ذریبوً

سد

نعس فاشگ یه ٍذؽ

ٍشگ یبخ بها ،داد مبدًا اس لبقتًا ّ ؼخشچ ،ییبوٌگسضث تبیلوع ىاْت .تعا تثبث بُ

(24)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ث َکجؽ کی اذتثا ،نعس یاشث َهادا سد ی

( طبیقه scale-free

یه ) .نیصبع

َکجؽ یبُ

یث طبیقه ّ تشرجلآ ظعْت َک

تفبی ػشتغگ یعبثاسبث ذٌ

[ 7 ] یه ذؽس یسیخشت لبقتا ذٌیآشف بث ، .ذٌٌک

لکؽ 36 لبقتا طبیقه یث َکجؽ کی ٍصبرت یبُ

ٍشگ توع َث یسیخشت سْع َث یبُ

« تغق » یضکشه(

- )hub تِخ یه یشیگ

ٌٌک ذ .

لکش 16

ًَْوً . یب َکبش کی زا یا بطق .شایقه

یگًر ترْص َب اُ

ٍذش ٍداد ىاشً

.ذًا

بُ َکجؽ ی ث ی قه طبی دذع

« ؼِخ ( » کچْک ظعْته )hops

ی اشث ی صا يتفس کی د ٍشرگ َرث َکجرؽ سد ٍشرگ شرگی

ا .ذًساد يی اشث ٍذؽ فشف ىبهص بث تلغه ی

لبعسا کی پ مبی تعا طبجتسا سد َکجؽ كشع صا .

بُ َکجؽ ی رث ی قه طبری َرث

لد لی ا

َکٌی ع سد ی کی ذوع َلوز ی

بُ ٍشگ َث ی

ضکشه ی لاته ؽ ی ه

،ذًْؾی زاشع ی ثْخ ی اشث ی

َکجؽ بُ

ی تاشثبخه ی َث

وً سبوؽ ی ذًّس ىآ ،لبز شُ َث . ـقً َث لاهبک بُ

بُ

ی فدبقت ی رغع سد .ذٌهّبقه TCP/IP

ف رغرع سد َرً بها(

یرکیضی )

ا تًشتٌی ً ضی کی ث َکجؽ ی قه طبی اشث .تعا ی ،ًَْوً

google.com ىاٌْع َث

« تغق ٍشگ »

لفا ی ره لروع ی ذرٌک ا . يری

ٌه سبتخبع قغ

ی ث ی قه طبی ا

،تًشتٌی

ّ ػشتغگ طّشی

یبُ

پهبک یشتْی

ْقت اس تی ه ی ذٌک .

تپیشکعا سد شیص

اثبت barabasi.game یث َکجؽ کی

برث َلبرقتا کری طبیقه 333

ٍشرگ دبردیا یره ذرٌک .

کی َلبقتا فاشگ َک تعبٌعه يیا َث ىدْث

ٍشگ شُ

ذخ ذی َث کی ه لقته دْخْه ٍشگ ی

دْؽ .

## Create a scale-free network g <- barabasi.game(100, m=1) g <- simplify(g)

ٍشگ یشیگ ساشق ؼیاسآ اذتثا توغق يیا سد

لبری ّ بُ

یره ـخرؾه نرعس سد اس برُ

ىاْرٌع َرث َرک یرؾیاسآ .نیرٌک

ؼیپ فّشعه ؼیاسآ ،ٍذؽ نیظٌت ذک يیا سد كشف Fruchterman-Reingold

یه ذؽبث [ 8 ] نرعس یاشث . اثبرت صا

plot

ٍذؽ ٍدبفتعا عا

ت .

## simple plot

igraph.par("plot.layout", layout.fruchterman.reingold)

plot(g, vertex.size=3, vertex.label=NA, edge.arrow.size=0.6)

(25)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

صا ؼخث يیا سد tkplot

ٍذؽ َتفشگ ٍشِث فاشگ صا یلهبعت یبوؽ کی تخبع یاشث .تعا

## interactive

id <- tkplot(g, vertex.size=3, vertex.label=NA, edge.arrow.size=0.6)

coords <- tkplot.getcoords(id)

یه ؼیبوً اس شْف تپیشکعا َدیتً ،شیص لکؽ .ذُد

لکش 17 ظیحه رد ٍذش نضر فارگ . tkplot

یبوؽ ؼخث يیا سد 1

کوک َث اس شْف فاشگ یذعث rglplot

ٍذؽ نعس .تعا

## 3D open3d()

rglplot(g, vertex.size=3, vertex.label=NA, edge.arrow.size=0.6)

ؼیاسآ بث لابث فاشگ نعس شیص ذک سد ادبهبک

- یاّبک

ٍذؽ مبدًا تعا

[ 9 ] . َک ذیٌک َخْت dim=3

َرع ىدْرث یذرعث

ؼیاسآ یه ىبؾً اس فاشگ .ذُد

(26)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

## A bit better 3D

coords <- layout.kamada.kawai(g, dim=3) open3d()

rglplot(g, vertex.size=3, vertex.label=NA, edge.arrow.size=0.6, layout=coords)

لکش 18 اب ٍذش نضر یذؼب َض فارگ . rglplot

3 - 6

ٍرگ ،فارگ تافص رییغت ّ یضرتضد لای ّ اُ

اُ

ٍشگ ،فاشگ لبی ّ بُ

یه ماذک شُ بُ

ًَبگاذخ تبفف ذًٌاْت

َتؽاد یا گژیّ َک ذٌؽبث

ی ىآ یبُ

.ذرٌیبوً ـخرؾه اس برُ

َعْوده صا توغق يیا سد ٍداد

ییبضق ؼخث سد اس ىآ َک 1

- 2 یه ٍدبفتعا نیدْوً یثبیصبث .نیٌک

## Load the jurisdiction network load("judicial.Rdata.gz")

## If we don't have it then create it again if (!exists("jg")) {

source("http://cneurocvs.rmki.kfki.hu/igraph/plus.R") vertices <- read.csv("

http://cneurocvs.rmki.kfki.hu/igraph/judicial.csv") edges <- read.table("

http://cneurocvs.rmki.kfki.hu/igraph/allcites.txt") jg <- graph.data.frame(edges, vertices=vertices, dir=TRUE) }

لاْوعه طشپ ّ یُدساذقه یاشث شیص اثاْت یه ٍدبفتعا تبفف يیا صا ْخّ

:ددشگ

set.graph.attribute, get.graph.attribute, list.graph.attributes, set.vertex.attribute, get.vertex.attribute, list.vertex.attributes, set.edge.attribute, get.edge.attribute, list.edge.attributes

(27)

يغسه یغیهس یسّبٌف ّ شتْیپهبک ٍذکؾًاد | تبعلاعا

شیجکشیها یتعٌف ٍبگؾًاد

ّ یثبیصبث ،یُدساذقه تبیلوع ،شْف اثاْت تغیل َهاسا

یه مبدًا اس تبفف َتجلا .ذٌُد

ٍدبع ٍاس ٍدبفترعا یرعشتعد شت

.تعبُشیغته یْلخ سد $ صا

ٍداد ىبؾً نُ شع تؾپ تبفف صا یؾخث یعشتعد یگًْگچ شیص ذک سد .تعا ٍذؽ

## What do we have?

summary(jg)

V(jg)$year[1:100]

V(jg)$parties[1:10]

طشپ مبدًا َقلز َث صبیً ىّذث ّ شْف سْتعد َثبؾه ضیً تبفف یّس ْخّ

.تعا شیزپ َرث َخْت بث

Index يریا ىذرؽ

یه َجعبسه تعشع َث حیبتً تبفف .ددشگ

## Select vertices based on attributes V(jg) [ year >= 1990 ]

V(jg) [ overruled!=0 ]

ٍشگ سد لبع تفف یّس اس ٍذیچیپ تبیلوع کی شیص تپیشکعا یره مبدًا بُ

َثبرؾه ذرک يریا .ذرُد Group by

سد

یه لوعSQL

ٍشگ َخسد يیگًبیه ّ ذٌک

ٍشگ سد اس بُ

یه َجعبسه لبع شُ یبُ

.ذیبوً

## Group network measures based on attributes

deg.per.year <- tapply(degree(jg, mode="out"), V(jg)$year, mean)

## Plot it

plot( names(deg.per.year), deg.per.year )

ىبوُ

یه ىبؾً شیص سادْوً َک ًَْگ .تعا ىذؽ دبیص لبز سد ىبهص سّشه َث طبقً َخسد يیگًبیه ذًّس ذُد

ىاذث يیا

ٍذًّشپ َث دبٌتعا َک تعبٌعه یه ىذؽ دبیص لبز سد ییبضق یبُ

.ذؽبث

لکش 19 ییاضق فارگ رد طاقً َجرد يیگًایه .

Referensi

Dokumen terkait

OBJECTIVES OF WORLD FOOD DAY WFD • To heighten public awareness on the recently developed SDGs & the way in which they would address issues of poverty, hunger & malnutrition in the