Positive words and Negative words can also found at: http://ptrckprry.com/course/ssd/data/positive-words.txt. and http://ptrckprry.com/course/ssd/data/negative-words.txt.
posWords <- c("yes","great","improvement","love","great improvement","very good","good","right","very")
negWords <- c("no", "hate","bad","not good","horrible")
wordsDF<- data.frame(words = posWords, value = 1,stringsAsFactors=F)
wordsDF<- rbind(wordsDF,data.frame(words = negWords, value = -1))
wordsDF$lengths<-unlist(lapply(wordsDF$words, nchar))
wordsDF<-wordsDF[ order(-wordsDF[,3]),]
# options(warn=-1)
scoreSentence <- function(sentence){
score<-0
for(x in 1:nrow(wordsDF)){
count<-length(grep(wordsDF[x,1],sentence))
if(count){
score<-score + (count * wordsDF[x,2])
sentence<-sub(wordsDF[x,1],'',sentence)
}
}
score
}
SentimentScore_UCBerkeley <- unlist(lapply(sent_UCBerkeley$words, scoreSentence))
SentimentScore_WUSTL <- unlist(lapply(sent_WUSTL$words, scoreSentence))
score_UCBerkeley <- data.frame(cbind("UCBerkeley", SentimentScore_UCBerkeley))
names(score_UCBerkeley) <- c("name", "score")
score_WUSTL <- cbind("WUSTL", SentimentScore_WUSTL)
score_WUSTL <- data.frame(cbind("WUSTL", SentimentScore_WUSTL))
names(score_WUSTL) <- c("name", "score")
plotdat <- rbind(score_UCBerkeley, score_WUSTL)
y <- as.factor(score_UCBerkeley$score)
x <- as.factor(score_WUSTL$score)
counts <- table(plotdat$name, plotdat$score)
barplot(counts, main="Sentiment Analysis on 500 Tweets: University",
xlab="Number of Scores", col=c("darkblue","red"),
legend = rownames(counts), beside=TRUE)
library(RCurl)
## Loading required package: bitops
postive_word <- read.csv("http://ptrckprry.com/course/ssd/data/positive-words.txt")
negative_word <- read.csv("http://ptrckprry.com/course/ssd/data/negative-words.txt")
negative_word <- data.frame(negative_word[-c(515,516,1607), ])
posWords <- as.character(postive_word[48:nrow(postive_word),])
negWords <- as.character(negative_word[48:nrow(negative_word),])
wordsDF<- data.frame(words = posWords, value = 1,stringsAsFactors=F)
wordsDF<- rbind(wordsDF,data.frame(words = negWords, value = -1))
wordsDF$lengths<-unlist(lapply(wordsDF$words, nchar))
wordsDF<-wordsDF[ order(-wordsDF[,3]),]
SentimentScore_UCBerkeley <- unlist(lapply(sent_UCBerkeley$words, scoreSentence))
SentimentScore_WUSTL <- unlist(lapply(sent_WUSTL$words, scoreSentence))
score_UCBerkeley <- data.frame(cbind("UCBerkeley", SentimentScore_UCBerkeley))
names(score_UCBerkeley) <- c("name", "score")
score_WUSTL <- cbind("WUSTL", SentimentScore_WUSTL)
score_WUSTL <- data.frame(cbind("WUSTL", SentimentScore_WUSTL))
names(score_WUSTL) <- c("name", "score")
plotdat <- rbind(score_UCBerkeley, score_WUSTL)
y <- as.factor(score_UCBerkeley$score)
x <- as.factor(score_WUSTL$score)
counts <- table(plotdat$name, plotdat$score)
barplot(counts, main="Sentiment Analysis on 500 Tweets: University",
xlab="Number of Scores", col=c("darkblue","red"),
legend = rownames(counts), beside=TRUE)