Import the package wordcloud2 -

> library(wordcloud2) 

If not installed then install it by running devtools::install_github("lchiffon/wordcloud2").

If you have problems with R Studio homework - experts at www.homeworkhelponline.net can take care of your assignments.

Let’s use the data frame of words count called demoFreq -

> head(demoFreq)
         word freq
oil       oil   85
said     said   73
prices prices   48
opec     opec   42
mln       mln   31
the       the   26

Wordcloud2

Using the wordcloud2 function create a word cloud -

> wordcloud2(demoFreq, size=1.2, color='random-light',
+            backgroundColor = "#FFFF99")

Coloring

Using color = “random_dark” -

> wordcloud2(demoFreq, size=1.2, color='random-dark',
+            backgroundColor = "#FFFF99")

Using custom colors -

> wordcloud2(demoFreq, size=1.2, 
+            color=rep_len(c("green","blue","red"),nrow(demoFreq)))

Fit to Basic Shapes

Shapes of the word clouds can be changed to many forms - x

> wordcloud2(demoFreq, size = 0.7, shape = 'star', ellipticity = 0.8)
> wordcloud2(demoFreq, size = 0.7, shape = 'circle')
> wordcloud2(demoFreq, size = 0.7, shape = 'cardioid')
> wordcloud2(demoFreq, size = 0.7, shape = 'diamond')
> wordcloud2(demoFreq, size = 0.7, shape = 'triangle-forward')
> wordcloud2(demoFreq, size = 0.7, shape = 'triangle')

Fit to Photo

A photo mask can be used for the shape also. This can be done by providing the file in figpath -

> wordcloud2(demoFreq, figPath = "Data/bird.png", size = 1.5, 
+            color = "skyblue", backgroundColor="white")

Sometimes in RStudio and html files the output may not be seen. Refreshing the widget window may solve this problem.


Fit to Word or Letter

Any word or letter also can be used as shape -

> letterCloud(demoFreq,"HIMEL")
> letterCloud(demoFreq, word = "Joy
+ Bangla", wordSize = 1)

Saving Image

Here is a solution of how to save the produced image of this html widget output in local drive. But this method of saving does not appear to work when using a custom shape via the figPath parameter or using the letterCloud().

LS0tDQp0aXRsZTogV29yZCBDbG91ZCBpbiBSDQphdXRob3I6ICdNRCBBSFNBTlVMIElTTEFNJw0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0b2NfZGVwdGg6IDQNCiAgICB0aGVtZTogY2VydWxlYW4NCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KYGBge3IsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGNvbW1lbnQgPSAiIiwgcHJvbXB0ID0gVFJVRSwgbWVzc2FnZT1GLCB3YXJuaW5nID1GDQopDQpgYGANCg0KLS0tDQoNCkltcG9ydCB0aGUgcGFja2FnZSB3b3JkY2xvdWQyIC0gDQpgYGB7cn0NCmxpYnJhcnkod29yZGNsb3VkMikgDQpgYGANCklmIG5vdCBpbnN0YWxsZWQgdGhlbiBpbnN0YWxsIGl0IGJ5IHJ1bm5pbmcgYGRldnRvb2xzOjppbnN0YWxsX2dpdGh1YigibGNoaWZmb24vd29yZGNsb3VkMiIpYC4NCg0KSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBSIFN0dWRpbyBob21ld29yayAtIGV4cGVydHMgYXQgW3d3dy5ob21ld29ya2hlbHBvbmxpbmUubmV0XShodHRwczovL3d3dy5ob21ld29ya2hlbHBvbmxpbmUubmV0L3Byb2dyYW1taW5nL3ItcHJvZ3JhbW1pbmcpIGNhbiB0YWtlIGNhcmUgb2YgeW91ciBhc3NpZ25tZW50cy4NCg0KTGV0J3MgdXNlIHRoZSBkYXRhIGZyYW1lIG9mIHdvcmRzIGNvdW50IGNhbGxlZCBkZW1vRnJlcSAtDQpgYGB7cn0NCmhlYWQoZGVtb0ZyZXEpDQpgYGANCg0KLS0tDQoNCiMjIyBXb3JkY2xvdWQyDQoNClVzaW5nIHRoZSB3b3JkY2xvdWQyIGZ1bmN0aW9uIGNyZWF0ZSBhIHdvcmQgY2xvdWQgLQ0KYGBge3J9DQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplPTEuMiwgY29sb3I9J3JhbmRvbS1saWdodCcsDQogICAgICAgICAgIGJhY2tncm91bmRDb2xvciA9ICIjRkZGRjk5IikNCmBgYA0KDQotLS0NCg0KIyMjIENvbG9yaW5nDQoNClVzaW5nIGNvbG9yID0gInJhbmRvbV9kYXJrIiAtDQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemU9MS4yLCBjb2xvcj0ncmFuZG9tLWRhcmsnLA0KICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAiI0ZGRkY5OSIpDQpgYGANCg0KVXNpbmcgY3VzdG9tIGNvbG9ycyAtIA0KYGBge3J9DQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplPTEuMiwgDQogICAgICAgICAgIGNvbG9yPXJlcF9sZW4oYygiZ3JlZW4iLCJibHVlIiwicmVkIiksbnJvdyhkZW1vRnJlcSkpKQ0KYGBgDQoNCi0tLQ0KDQojIyMgRml0IHRvIEJhc2ljIFNoYXBlcw0KICAgDQpTaGFwZXMgb2YgdGhlIHdvcmQgY2xvdWRzIGNhbiBiZSBjaGFuZ2VkIHRvIG1hbnkgZm9ybXMgLSB4DQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ3N0YXInLCBlbGxpcHRpY2l0eSA9IDAuOCkNCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ2NpcmNsZScpDQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplID0gMC43LCBzaGFwZSA9ICdjYXJkaW9pZCcpDQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplID0gMC43LCBzaGFwZSA9ICdkaWFtb25kJykNCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ3RyaWFuZ2xlLWZvcndhcmQnKQ0Kd29yZGNsb3VkMihkZW1vRnJlcSwgc2l6ZSA9IDAuNywgc2hhcGUgPSAndHJpYW5nbGUnKQ0KYGBgDQoNCi0tLQ0KDQojIyMgRml0IHRvIFBob3RvIA0KDQpBIHBob3RvIG1hc2sgY2FuIGJlIHVzZWQgZm9yIHRoZSBzaGFwZSBhbHNvLiBUaGlzIGNhbiBiZSBkb25lIGJ5IHByb3ZpZGluZyB0aGUgZmlsZSBpbiBmaWdwYXRoIC0gDQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIGZpZ1BhdGggPSAiRGF0YS9iaXJkLnBuZyIsIHNpemUgPSAxLjUsIA0KICAgICAgICAgICBjb2xvciA9ICJza3libHVlIiwgYmFja2dyb3VuZENvbG9yPSJ3aGl0ZSIpDQpgYGANCg0KKipTb21ldGltZXMgaW4gUlN0dWRpbyBhbmQgaHRtbCBmaWxlcyB0aGUgb3V0cHV0IG1heSBub3QgYmUgc2Vlbi4gUmVmcmVzaGluZyB0aGUgd2lkZ2V0IHdpbmRvdyBtYXkgc29sdmUgdGhpcyBwcm9ibGVtLioqDQoNCi0tLQ0KDQojIyMgRml0IHRvIFdvcmQgb3IgTGV0dGVyDQoNCkFueSB3b3JkIG9yIGxldHRlciBhbHNvIGNhbiBiZSB1c2VkIGFzIHNoYXBlIC0NCmBgYHtyfQ0KbGV0dGVyQ2xvdWQoZGVtb0ZyZXEsIkhJTUVMIikNCmxldHRlckNsb3VkKGRlbW9GcmVxLCB3b3JkID0gIkpveQ0KQmFuZ2xhIiwgd29yZFNpemUgPSAxKQ0KYGBgDQoNCi0tLQ0KDQojIyMgU2F2aW5nIEltYWdlIA0KDQpbSGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL0xjaGlmZm9uL3dvcmRjbG91ZDIvaXNzdWVzLzgpIGlzIGEgc29sdXRpb24gb2YgaG93IHRvIHNhdmUgdGhlIHByb2R1Y2VkIGltYWdlIG9mIHRoaXMgaHRtbCB3aWRnZXQgb3V0cHV0IGluIGxvY2FsIGRyaXZlLiBCdXQgdGhpcyBtZXRob2Qgb2Ygc2F2aW5nIGRvZXMgbm90IGFwcGVhciB0byB3b3JrIHdoZW4gdXNpbmcgYSBjdXN0b20gc2hhcGUgdmlhIHRoZSBmaWdQYXRoIHBhcmFtZXRlciBvciB1c2luZyB0aGUgbGV0dGVyQ2xvdWQoKS4NCg==