R/word.associations.R

Defines functions word.associations

Documented in word.associations

#' @title rWord Associations
#' @description Blank Description.
#' @param d Corpus
#' @param dn Name
#' @param HTML HTML Code
#' Defaults to TRUE.
#' @keywords package
#' @return NULL
#' @export
#' @examples word.associations()
#' word.associations(nk.corpus.ultimus, nk.name, "america")
#' word.associations(nk.corpus.ultimus, nk.name, "america", "brazil")
#' word.associations(nk.corpus.ultimus, nk.name, "america", "food", "brazil")

word.associations <- function(d, dn, w1, w2, w3) {

if('dplyr' %in% rownames(installed.packages()) == TRUE) {
require(dplyr)} else {
install.packages("dplyr", repos = "http://cran.us.r-project.org")	
require(dplyr)}

if('tibble' %in% rownames(installed.packages()) == TRUE) {
require(tibble)} else {
install.packages("tibble", repos = "http://cran.us.r-project.org")	
require(tibble)}

if('tm' %in% rownames(installed.packages()) == TRUE) {
require(tm)} else {
install.packages("tm", repos = "http://cran.us.r-project.org")	
require(tm)}

if('grid' %in% rownames(installed.packages()) == TRUE) {
require(grid)} else {
install.packages("grid", repos = "http://cran.us.r-project.org")	
require(grid)}

if('gridExtra' %in% rownames(installed.packages()) == TRUE) {
require(gridExtra)} else {
install.packages("gridExtra", repos = "http://cran.us.r-project.org")	
require(gridExtra)}

if('gtable' %in% rownames(installed.packages()) == TRUE) {
require(gtable)} else {
install.packages("gtable", repos = "http://cran.us.r-project.org")	
require(gtable)}

if (missing(w1)) {
	
print("Missing Word")

} else { 

if(missing(w3)) {        
if(missing(w2)) {     

nk.corpus <- d
nk.name <- dn
nk.word.search.1 <- w1

nk.assocs <- TermDocumentMatrix(nk.corpus, control = list(wordLengths=c(1, Inf)))

nk.word.1 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.1), 0.25))
nk.word.1 <- nk.word.1 %>% rownames_to_column(var = "word")
nk.word.1 <- mutate(nk.word.1, query = paste0(nk.word.search.1))
colnames(nk.word.1) <- c("Word", "Correlation", "Query")
nk.word.1

nk.word.1.top <- data.frame(nk.word.1[1:15,])
nk.word.1.top <- nk.word.1.top %>% na.omit()
	
plot.new()  
theme.grid <- ttheme_default(colhead = list(fg_params = list(parse=TRUE)))        
nk.table <- grid.table(nk.word.1.top, theme = theme.grid)
nk.grob <- tableGrob(nk.word.1.top)
grob.h <- grobHeight(nk.grob)
nk.title <- textGrob(paste0("Word Associations for ", nk.name), 
	y = unit(0.5, "npc") + 0.93*grob.h, vjust = 0, gp = gpar(fontsize = 15))
nk.word.table <- gTree(children = gList(nk.table, nk.title))
	
return(grid.draw(nk.word.table))

} else {            

nk.corpus <- d
nk.name <- dn
nk.word.search.1 <- w1
nk.word.search.2 <- w2

nk.assocs <- TermDocumentMatrix(nk.corpus, control = list(wordLengths=c(1, Inf)))

nk.word.1 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.1), 0.25))
nk.word.1 <- nk.word.1 %>% rownames_to_column(var = "word")
nk.word.1 <- mutate(nk.word.1, query = paste0(nk.word.search.1))
colnames(nk.word.1) <- c("Word", "Correlation", "Query")
nk.word.1

nk.word.1.top <- data.frame(nk.word.1[1:7,])
nk.word.1.top <- nk.word.1.top %>% na.omit()
	
nk.word.2 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.2), 0.25))
nk.word.2 <- nk.word.2 %>% rownames_to_column(var = "word")
nk.word.2 <- mutate(nk.word.2, query = paste0(nk.word.search.2))
colnames(nk.word.2) <- c("Word", "Correlation", "Query")
nk.word.2

nk.word.2.top <- data.frame(nk.word.2[1:7,])
nk.word.2.top <- nk.word.2.top %>% na.omit()

nk.words.combined <- rbind(nk.word.1.top, nk.word.2.top)
nk.words.combined
	
plot.new()  
theme.grid <- ttheme_default(colhead = list(fg_params = list(parse=TRUE)))        
nk.table <- grid.table(nk.word.1.top, theme = theme.grid)
nk.grob <- tableGrob(nk.word.1.top)
grob.h <- grobHeight(nk.grob)
nk.title <- textGrob(paste0("Word Associations for ", nk.name), 
	y = unit(0.5, "npc") + 0.93*grob.h, vjust = 0, gp = gpar(fontsize = 15))
nk.word.table <- gTree(children = gList(nk.table, nk.title))
	
return(grid.draw(nk.word.table))

}

} else {            

nk.corpus <- d
nk.name <- dn
nk.word.search.1 <- w1
nk.word.search.2 <- w2
nk.word.search.3 <- w3

nk.assocs <- TermDocumentMatrix(nk.corpus, control = list(wordLengths=c(1, Inf)))

nk.word.1 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.1), 0.25))
nk.word.1 <- nk.word.1 %>% rownames_to_column(var = "word")
nk.word.1 <- mutate(nk.word.1, query = paste0(nk.word.search.1))
colnames(nk.word.1) <- c("Word", "Correlation", "Query")
nk.word.1

nk.word.1.top <- data.frame(nk.word.1[1:5,])
nk.word.1.top <- nk.word.1.top %>% na.omit()

nk.word.2 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.2), 0.25))
nk.word.2 <- nk.word.2 %>% rownames_to_column(var = "word")
nk.word.2 <- mutate(nk.word.2, query = paste0(nk.word.search.2))
colnames(nk.word.2) <- c("Word", "Correlation", "Query")
nk.word.2

nk.word.2.top <- data.frame(nk.word.2[1:5,])
nk.word.2.top <- nk.word.2.top %>% na.omit()

nk.word.3 <- data.frame(findAssocs(nk.assocs, paste0(nk.word.search.3), 0.25))
nk.word.3 <- nk.word.3 %>% rownames_to_column(var = "word")
nk.word.3 <- mutate(nk.word.3, query = paste0(nk.word.search.3))
colnames(nk.word.3) <- c("Word", "Correlation", "Query")
nk.word.3

nk.word.3.top <- data.frame(nk.word.3[1:5,])
nk.word.3.top <- nk.word.3.top %>% na.omit()

nk.words.combined <- rbind(nk.word.1.top, nk.word.2.top, nk.word.3.top)
nk.words.combined

plot.new()  
theme.grid <- ttheme_default(colhead = list(fg_params = list(parse=TRUE)))        
nk.table <- grid.table(nk.words.combined, theme = theme.grid)
nk.grob <- tableGrob(nk.words.combined)
grob.h <- grobHeight(nk.grob)
nk.title <- textGrob(paste0("Word Associations for ", nk.name), 
	y = unit(0.5, "npc") + 0.93*grob.h, vjust = 0, gp = gpar(fontsize = 15))
nk.word.table <- gTree(children = gList(nk.table, nk.title))
grid.draw(nk.word.table)

}
	
}

}
sabalicodev/sabali documentation built on Jan. 13, 2020, 2:22 p.m.