Skip to main content

rWordCloud - An htmlwidget interface for D3 word cloud

With htmlwidget, its become easy to bind d3 scripts to R. rWordCloud is one such package.

To install rWordCloud

 require(devtools)  
 install_github('adymimos/rWordCloud')  

Two main functions in rWordClouds are
  • d3TextCloud - this function takes strings as input, and performs word count. Before word count, it does stemming, and stop word removal.
    content <- c('R is a programming language and software environment for statistical
    computing and graphics open source','The R language is widely used among 
    statisticians and data miners for developing statistical  software and
    data analysis','Polls, surveys of data miners,and studies of scholarly
    literature databases show that R popularity has increased substantially
    in recent years','languages programming study open source, analysis')
    label <- c('a1','a2','a3','a4')
    d3TextCloud(content = content, label = label )
    

  • d3Cloud - Function accepts word and its size
    text <- c('d3','wordcloud','impressive','experiment','htmlwidgets','myfirstwidget')
    size <- c(25,20,13,9,6,5)
    df <- data.frame(text,size)
    d3Cloud(text = text, size = size)
    

  •      
  • Shiny binding - information about clicked word from ui is send to server in shiny using the variable d3word.
    ui.R
    library(shiny)
    library(rWordCloud)
    shinyUI(fluidPage(
    headerPanel("Interactive word cloud"),
    mainPanel(
    d3CloudOutput("plot", width = "100%", height = 500),
    h1(htmlOutput("text1")))
    ))
    
    server.R
    library(shiny)
    library(rWordCloud)
    shinyServer(function(input, output, session) {
    output$plot <- renderd3Cloud({
    d3Cloud(text = rownames(mtcars), size = mtcars$hp)
    })
    output$text1 <- renderText({
    if(!any(names(input)=='d3word')) return ("You havent clicked")
    paste ("You have clicked ",input$d3word)
    })
    })
    




source code - git hub


Comments

Popular posts from this blog

spark java.lang.IllegalArgumentException: java.net.UnknownHostException: user

Today I faced an error while trying to use Spark shell. This is how I resolved. scala> val file = sc.textFile("hdfs://...") 14/10/21 13:34:23 INFO MemoryStore: ensureFreeSpace(217085) called with curMem=0, maxMem=309225062 14/10/21 13:34:23 INFO MemoryStore: Block broadcast_0 stored as values to memory (estimated size 212.0 KB, free 294.7 MB) file: org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at <console>:12 scala> file.count() java.lang.IllegalArgumentException: java.net.UnknownHostException: user     at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:377)     at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:237)     at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:141) This error can be fixed by giving proper hostname and port sc.textFile("hdfs://{hostname}:8020/{filepath}...") scala> file.count() 14/10/21 13:44:23 INFO FileInputFormat: Tota

Common issues on Shark with CDH5-beta2

Issues on Shark with CDH5-beta2 1. IncompatibleClassChangeError: Implementing class Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.ClassLoader.defineC

Common Issues with Solr Data Import Handler (DIH)

1. Could not load driver: org.postgresql.Driver org.apache.solr.common.SolrException; Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: org.postgresql.Driver Solution : Put rmdbs driver, in my case postgres driver in $SOLR_HOME/dist folder and point it in solrconfig.xml <lib dir="${solr.install.dir:../../../..}/dist/" regex="postgresql.*\.jar" />  2. ERROR StreamingSolrClients org.apache.solr.common.SolrException: Bad Request request: http://host:7574/solr/collection_shard2_replica1/update?update.distrib=TOLEADER&distrib.from=http%3A%2F%2Fhost%3A8983%2Fsolr%2Fcollection_shard1_replica2%2F&wt=javabin&version=2 at org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient$Runner.run(ConcurrentUpdateSolrClient.java:241) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurr