I have narrowed down what I will be doing my project on. I decided to look at articles in the New York Times related to the keywords prison and policy from 1990-1994. I am doing this because the Violent Crime Control and Law Enforcement Act of 1994 was a large piece of legislation that has affected our current prison system and so I want to be able to see how prison and policy was talked about from 1990-1994. I am curious to see if it was viewed negatively or positively so I am planning on doing sentiment analysis. I need to thank Jason for making importing a bunch of articles from the NYT API much easier by creating a loop. I was struggling with that part so I need to thank him for helping me with that.
My whole project has progressed a lot since last week. I now have 120 articles from the New York Times waiting to be analyzed. I performed a small sentiment analysis on this data at the end. I got this sentiment analysis from the tutorial and used it as a base and now plan to play around a little more with sentiment analysis because I want to dig deeper into the sentiment around prison policy in the year leading up to the Violent Crime and Control Act of 1994. One small thing I did was compare the negative max in the sentiment was much higher than the max for positive. I have to look into it more but that is definitely an interesting finding.
#loading in libraries
library(httr)
library(jsonlite)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.2 ✓ dplyr 1.0.7
## ✓ tidyr 1.1.3 ✓ stringr 1.4.0
## ✓ readr 2.0.1 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x purrr::flatten() masks jsonlite::flatten()
## x dplyr::lag() masks stats::lag()
library(tidytext)
library(quanteda)
## Package version: 3.2.1
## Unicode version: 13.0
## ICU version: 69.1
## Parallel computing: 4 of 4 threads used.
## See https://quanteda.io for tutorials and examples.
library(readtext)
library(quanteda.textmodels)
library
## function (package, help, pos = 2, lib.loc = NULL, character.only = FALSE,
## logical.return = FALSE, warn.conflicts, quietly = FALSE,
## verbose = getOption("verbose"), mask.ok, exclude, include.only,
## attach.required = missing(include.only))
## {
## conf.ctrl <- getOption("conflicts.policy")
## if (is.character(conf.ctrl))
## conf.ctrl <- switch(conf.ctrl, strict = list(error = TRUE,
## warn = FALSE), depends.ok = list(error = TRUE, generics.ok = TRUE,
## can.mask = c("base", "methods", "utils", "grDevices",
## "graphics", "stats"), depends.ok = TRUE), warning(gettextf("unknown conflict policy: %s",
## sQuote(conf.ctrl)), call. = FALSE, domain = NA))
## if (!is.list(conf.ctrl))
## conf.ctrl <- NULL
## stopOnConflict <- isTRUE(conf.ctrl$error)
## if (missing(warn.conflicts))
## warn.conflicts <- if (isFALSE(conf.ctrl$warn))
## FALSE
## else TRUE
## if ((!missing(include.only)) && (!missing(exclude)))
## stop(gettext("only one of 'include.only' and 'exclude' can be used"),
## call. = FALSE, domain = NA)
## testRversion <- function(pkgInfo, pkgname, pkgpath) {
## if (is.null(built <- pkgInfo$Built))
## stop(gettextf("package %s has not been installed properly\n",
## sQuote(pkgname)), call. = FALSE, domain = NA)
## R_version_built_under <- as.numeric_version(built$R)
## if (R_version_built_under < "3.0.0")
## stop(gettextf("package %s was built before R 3.0.0: please re-install it",
## sQuote(pkgname)), call. = FALSE, domain = NA)
## current <- getRversion()
## if (length(Rdeps <- pkgInfo$Rdepends2)) {
## for (dep in Rdeps) if (length(dep) > 1L) {
## target <- dep$version
## res <- do.call(dep$op, if (is.character(target))
## list(as.numeric(R.version[["svn rev"]]), as.numeric(sub("^r",
## "", target)))
## else list(current, as.numeric_version(target)))
## if (!res)
## stop(gettextf("This is R %s, package %s needs %s %s",
## current, sQuote(pkgname), dep$op, target),
## call. = FALSE, domain = NA)
## }
## }
## if (R_version_built_under > current)
## warning(gettextf("package %s was built under R version %s",
## sQuote(pkgname), as.character(built$R)), call. = FALSE,
## domain = NA)
## platform <- built$Platform
## r_arch <- .Platform$r_arch
## if (.Platform$OS.type == "unix") {
## }
## else {
## if (nzchar(platform) && !grepl("mingw", platform))
## stop(gettextf("package %s was built for %s",
## sQuote(pkgname), platform), call. = FALSE,
## domain = NA)
## }
## if (nzchar(r_arch) && file.exists(file.path(pkgpath,
## "libs")) && !file.exists(file.path(pkgpath, "libs",
## r_arch)))
## stop(gettextf("package %s is not installed for 'arch = %s'",
## sQuote(pkgname), r_arch), call. = FALSE, domain = NA)
## }
## checkNoGenerics <- function(env, pkg) {
## nenv <- env
## ns <- .getNamespace(as.name(pkg))
## if (!is.null(ns))
## nenv <- asNamespace(ns)
## if (exists(".noGenerics", envir = nenv, inherits = FALSE))
## TRUE
## else {
## !any(startsWith(names(env), ".__T"))
## }
## }
## checkConflicts <- function(package, pkgname, pkgpath, nogenerics,
## env) {
## dont.mind <- c("last.dump", "last.warning", ".Last.value",
## ".Random.seed", ".Last.lib", ".onDetach", ".packageName",
## ".noGenerics", ".required", ".no_S3_generics", ".Depends",
## ".requireCachedGenerics")
## sp <- search()
## lib.pos <- which(sp == pkgname)
## ob <- names(as.environment(lib.pos))
## if (!nogenerics) {
## these <- ob[startsWith(ob, ".__T__")]
## gen <- gsub(".__T__(.*):([^:]+)", "\\1", these)
## from <- gsub(".__T__(.*):([^:]+)", "\\2", these)
## gen <- gen[from != package]
## ob <- ob[!(ob %in% gen)]
## }
## ipos <- seq_along(sp)[-c(lib.pos, match(c("Autoloads",
## "CheckExEnv"), sp, 0L))]
## cpos <- NULL
## conflicts <- vector("list", 0)
## for (i in ipos) {
## obj.same <- match(names(as.environment(i)), ob, nomatch = 0L)
## if (any(obj.same > 0L)) {
## same <- ob[obj.same]
## same <- same[!(same %in% dont.mind)]
## Classobjs <- which(startsWith(same, ".__"))
## if (length(Classobjs))
## same <- same[-Classobjs]
## same.isFn <- function(where) vapply(same, exists,
## NA, where = where, mode = "function", inherits = FALSE)
## same <- same[same.isFn(i) == same.isFn(lib.pos)]
## not.Ident <- function(ch, TRAFO = identity, ...) vapply(ch,
## function(.) !identical(TRAFO(get(., i)), TRAFO(get(.,
## lib.pos)), ...), NA)
## if (length(same))
## same <- same[not.Ident(same)]
## if (length(same) && identical(sp[i], "package:base"))
## same <- same[not.Ident(same, ignore.environment = TRUE)]
## if (length(same)) {
## conflicts[[sp[i]]] <- same
## cpos[sp[i]] <- i
## }
## }
## }
## if (length(conflicts)) {
## if (stopOnConflict) {
## emsg <- ""
## pkg <- names(conflicts)
## notOK <- vector("list", 0)
## for (i in seq_along(conflicts)) {
## pkgname <- sub("^package:", "", pkg[i])
## if (pkgname %in% canMaskEnv$canMask)
## next
## same <- conflicts[[i]]
## if (is.list(mask.ok))
## myMaskOK <- mask.ok[[pkgname]]
## else myMaskOK <- mask.ok
## if (isTRUE(myMaskOK))
## same <- NULL
## else if (is.character(myMaskOK))
## same <- setdiff(same, myMaskOK)
## if (length(same)) {
## notOK[[pkg[i]]] <- same
## msg <- .maskedMsg(sort(same), pkg = sQuote(pkg[i]),
## by = cpos[i] < lib.pos)
## emsg <- paste(emsg, msg, sep = "\n")
## }
## }
## if (length(notOK)) {
## msg <- gettextf("Conflicts attaching package %s:\n%s",
## sQuote(package), emsg)
## stop(errorCondition(msg, package = package,
## conflicts = conflicts, class = "packageConflictError"))
## }
## }
## if (warn.conflicts) {
## packageStartupMessage(gettextf("\nAttaching package: %s\n",
## sQuote(package)), domain = NA)
## pkg <- names(conflicts)
## for (i in seq_along(conflicts)) {
## msg <- .maskedMsg(sort(conflicts[[i]]), pkg = sQuote(pkg[i]),
## by = cpos[i] < lib.pos)
## packageStartupMessage(msg, domain = NA)
## }
## }
## }
## }
## if (verbose && quietly)
## message("'verbose' and 'quietly' are both true; being verbose then ..")
## if (!missing(package)) {
## if (is.null(lib.loc))
## lib.loc <- .libPaths()
## lib.loc <- lib.loc[dir.exists(lib.loc)]
## if (!character.only)
## package <- as.character(substitute(package))
## if (length(package) != 1L)
## stop("'package' must be of length 1")
## if (is.na(package) || (package == ""))
## stop("invalid package name")
## pkgname <- paste0("package:", package)
## newpackage <- is.na(match(pkgname, search()))
## if (newpackage) {
## pkgpath <- find.package(package, lib.loc, quiet = TRUE,
## verbose = verbose)
## if (length(pkgpath) == 0L) {
## if (length(lib.loc) && !logical.return)
## stop(packageNotFoundError(package, lib.loc,
## sys.call()))
## txt <- if (length(lib.loc))
## gettextf("there is no package called %s", sQuote(package))
## else gettext("no library trees found in 'lib.loc'")
## if (logical.return) {
## if (!quietly)
## warning(txt, domain = NA)
## return(FALSE)
## }
## else stop(txt, domain = NA)
## }
## which.lib.loc <- normalizePath(dirname(pkgpath),
## "/", TRUE)
## pfile <- system.file("Meta", "package.rds", package = package,
## lib.loc = which.lib.loc)
## if (!nzchar(pfile))
## stop(gettextf("%s is not a valid installed package",
## sQuote(package)), domain = NA)
## pkgInfo <- readRDS(pfile)
## testRversion(pkgInfo, package, pkgpath)
## if (is.character(pos)) {
## npos <- match(pos, search())
## if (is.na(npos)) {
## warning(gettextf("%s not found on search path, using pos = 2",
## sQuote(pos)), domain = NA)
## pos <- 2
## }
## else pos <- npos
## }
## deps <- unique(names(pkgInfo$Depends))
## depsOK <- isTRUE(conf.ctrl$depends.ok)
## if (depsOK) {
## canMaskEnv <- dynGet("__library_can_mask__",
## NULL)
## if (is.null(canMaskEnv)) {
## canMaskEnv <- new.env()
## canMaskEnv$canMask <- union("base", conf.ctrl$can.mask)
## "__library_can_mask__" <- canMaskEnv
## }
## canMaskEnv$canMask <- unique(c(package, deps,
## canMaskEnv$canMask))
## }
## else canMaskEnv <- NULL
## if (attach.required)
## .getRequiredPackages2(pkgInfo, quietly = quietly)
## cr <- conflictRules(package)
## if (missing(mask.ok))
## mask.ok <- cr$mask.ok
## if (missing(exclude))
## exclude <- cr$exclude
## if (packageHasNamespace(package, which.lib.loc)) {
## if (isNamespaceLoaded(package)) {
## newversion <- as.numeric_version(pkgInfo$DESCRIPTION["Version"])
## oldversion <- as.numeric_version(getNamespaceVersion(package))
## if (newversion != oldversion) {
## tryCatch(unloadNamespace(package), error = function(e) {
## P <- if (!is.null(cc <- conditionCall(e)))
## paste("Error in", deparse(cc)[1L], ": ")
## else "Error : "
## stop(gettextf("Package %s version %s cannot be unloaded:\n %s",
## sQuote(package), oldversion, paste0(P,
## conditionMessage(e), "\n")), domain = NA)
## })
## }
## }
## tt <- tryCatch({
## attr(package, "LibPath") <- which.lib.loc
## ns <- loadNamespace(package, lib.loc)
## env <- attachNamespace(ns, pos = pos, deps,
## exclude, include.only)
## }, error = function(e) {
## P <- if (!is.null(cc <- conditionCall(e)))
## paste(" in", deparse(cc)[1L])
## else ""
## msg <- gettextf("package or namespace load failed for %s%s:\n %s",
## sQuote(package), P, conditionMessage(e))
## if (logical.return && !quietly)
## message(paste("Error:", msg), domain = NA)
## else stop(msg, call. = FALSE, domain = NA)
## })
## if (logical.return && is.null(tt))
## return(FALSE)
## attr(package, "LibPath") <- NULL
## {
## on.exit(detach(pos = pos))
## nogenerics <- !.isMethodsDispatchOn() || checkNoGenerics(env,
## package)
## if (isFALSE(conf.ctrl$generics.ok) || (stopOnConflict &&
## !isTRUE(conf.ctrl$generics.ok)))
## nogenerics <- TRUE
## if (stopOnConflict || (warn.conflicts && !exists(".conflicts.OK",
## envir = env, inherits = FALSE)))
## checkConflicts(package, pkgname, pkgpath,
## nogenerics, ns)
## on.exit()
## if (logical.return)
## return(TRUE)
## else return(invisible(.packages()))
## }
## }
## else stop(gettextf("package %s does not have a namespace and should be re-installed",
## sQuote(package)), domain = NA)
## }
## if (verbose && !newpackage)
## warning(gettextf("package %s already present in search()",
## sQuote(package)), domain = NA)
## }
## else if (!missing(help)) {
## if (!character.only)
## help <- as.character(substitute(help))
## pkgName <- help[1L]
## pkgPath <- find.package(pkgName, lib.loc, verbose = verbose)
## docFiles <- c(file.path(pkgPath, "Meta", "package.rds"),
## file.path(pkgPath, "INDEX"))
## if (file.exists(vignetteIndexRDS <- file.path(pkgPath,
## "Meta", "vignette.rds")))
## docFiles <- c(docFiles, vignetteIndexRDS)
## pkgInfo <- vector("list", 3L)
## readDocFile <- function(f) {
## if (basename(f) %in% "package.rds") {
## txt <- readRDS(f)$DESCRIPTION
## if ("Encoding" %in% names(txt)) {
## to <- if (Sys.getlocale("LC_CTYPE") == "C")
## "ASCII//TRANSLIT"
## else ""
## tmp <- try(iconv(txt, from = txt["Encoding"],
## to = to))
## if (!inherits(tmp, "try-error"))
## txt <- tmp
## else warning("'DESCRIPTION' has an 'Encoding' field and re-encoding is not possible",
## call. = FALSE)
## }
## nm <- paste0(names(txt), ":")
## formatDL(nm, txt, indent = max(nchar(nm, "w")) +
## 3L)
## }
## else if (basename(f) %in% "vignette.rds") {
## txt <- readRDS(f)
## if (is.data.frame(txt) && nrow(txt))
## cbind(basename(gsub("\\.[[:alpha:]]+$", "",
## txt$File)), paste(txt$Title, paste0(rep.int("(source",
## NROW(txt)), ifelse(nzchar(txt$PDF), ", pdf",
## ""), ")")))
## else NULL
## }
## else readLines(f)
## }
## for (i in which(file.exists(docFiles))) pkgInfo[[i]] <- readDocFile(docFiles[i])
## y <- list(name = pkgName, path = pkgPath, info = pkgInfo)
## class(y) <- "packageInfo"
## return(y)
## }
## else {
## if (is.null(lib.loc))
## lib.loc <- .libPaths()
## db <- matrix(character(), nrow = 0L, ncol = 3L)
## nopkgs <- character()
## for (lib in lib.loc) {
## a <- .packages(all.available = TRUE, lib.loc = lib)
## for (i in sort(a)) {
## file <- system.file("Meta", "package.rds", package = i,
## lib.loc = lib)
## title <- if (nzchar(file)) {
## txt <- readRDS(file)
## if (is.list(txt))
## txt <- txt$DESCRIPTION
## if ("Encoding" %in% names(txt)) {
## to <- if (Sys.getlocale("LC_CTYPE") == "C")
## "ASCII//TRANSLIT"
## else ""
## tmp <- try(iconv(txt, txt["Encoding"], to,
## "?"))
## if (!inherits(tmp, "try-error"))
## txt <- tmp
## else warning("'DESCRIPTION' has an 'Encoding' field and re-encoding is not possible",
## call. = FALSE)
## }
## txt["Title"]
## }
## else NA
## if (is.na(title))
## title <- " ** No title available ** "
## db <- rbind(db, cbind(i, lib, title))
## }
## if (length(a) == 0L)
## nopkgs <- c(nopkgs, lib)
## }
## dimnames(db) <- list(NULL, c("Package", "LibPath", "Title"))
## if (length(nopkgs) && !missing(lib.loc)) {
## pkglist <- paste(sQuote(nopkgs), collapse = ", ")
## msg <- sprintf(ngettext(length(nopkgs), "library %s contains no packages",
## "libraries %s contain no packages"), pkglist)
## warning(msg, domain = NA)
## }
## y <- list(header = NULL, results = db, footer = NULL)
## class(y) <- "libraryIQR"
## return(y)
## }
## if (logical.return)
## TRUE
## else invisible(.packages())
## }
## <bytecode: 0x7fa418849528>
## <environment: namespace:base>
prison90.t <- c()
#i will be the last number in the sequence of 1970-1975
for (i in 0:4){
#j will be for the months
for(j in 1:12){
link90 <- paste0('https://api.nytimes.com/svc/search/v2/articlesearch.json?q=prison&policy&facet_field=day_of_week&facet=true&begin_date=197',i, '0',j,'01&end_date=199',i,'0',j,'31&api-key=ywg9nsFaF2uXhMA43C409CUYglWMxpMY')
if (j > 9 & j< 13){
link90 <- paste0('https://api.nytimes.com/svc/search/v2/articlesearch.json?q=prison&facet_field=day_of_week&facet=true&begin_date=199',i,j,'01&end_date=197',i,j,'31&api-key=ywg9nsFaF2uXhMA43C409CUYglWMxpMY')
prison.policy90 <- GET(link90)
prison.r90 <- fromJSON(rawToChar(prison.policy90$content))
table90 <- as.tibble(cbind(
date=prison.r90$response$docs$pub_date,
abstract=prison.r90$response$docs$abstract,
lead=prison.r90$response$docs$lead_paragraph,
source=prison.r90$response$docs$source,
byline=prison.r90$response$docs$byline$original,
type.m=prison.r90$response$docs$type_of_material,
type.d=prison.r90$response$docs$document_type))
prison90.t <- rbind(prison90.t, table90)
Sys.sleep(7)
}
prison.policy90 <- GET(link90)
prison.r90 <- fromJSON(rawToChar(prison.policy90$content))
table90 <- as.tibble(cbind(
date=prison.r90$response$docs$pub_date,
abstract=prison.r90$response$docs$abstract,
lead=prison.r90$response$docs$lead_paragraph,
source=prison.r90$response$docs$source,
byline=prison.r90$response$docs$byline$original,
type.m=prison.r90$response$docs$type_of_material,
type.d=prison.r90$response$docs$document_type))
prison90.t <- rbind(prison90.t, table90)
}
}
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## Please use `as_tibble()` instead.
## The signature and semantics have changed, see `?as_tibble`.
#removing odd numbers at the end of dates
prison90.t$date <- gsub('.{14}$','',prison90.t$date)
#creating a corous of the lead paragraph
corpus <- corpus(prison90.t$lead)
#making ids for each text
docid <- paste(prison90.t$date, prison90.t$byline)
docnames(corpus) <- docid
#removing punctuation, numbers, and symbols.
corpus.tokens <-tokens(corpus, remove_punct = TRUE, remove_numbers = TRUE, remove_symbols = TRUE)
corpus.tokens
## Tokens consisting of 130 documents.
## 1990-01-05 AP.1 :
## [1] "Federal" "marshals" "in" "the" "Northeast"
## [6] "and" "elsewhere" "are" "throwing" "mattresses"
## [11] "on" "the"
## [ ... and 26 more ]
##
## 1990-01-31 Reuters.1 :
## [1] "Forty-nine" "leftist" "guerrillas" "including"
## [5] "several" "accused" "of" "taking"
## [9] "part" "in" "an" "assassination"
## [ ... and 14 more ]
##
## 1990-01-29 By Tom Wicker.1 :
## [1] "On" "the" "night" "of" "Friday" "Sept"
## [7] "a" "nervous" "group" "of" "civilian" "observers"
## [ ... and 22 more ]
##
## 1990-01-29 By Sam Roberts.1 :
## [1] "On" "April" "Dowie" "Pringle" "was" "arrested"
## [7] "after" "a" "neighbor" "in" "the" "Bushwick"
## [ ... and 14 more ]
##
## 1990-01-26 By George James, Special To the New York Times.1 :
## [1] "It" "has" "been" "eight" "years" "since"
## [7] "a" "State" "Superior" "Court" "judge" "ruled"
## [ ... and 17 more ]
##
## 1990-01-07 By David E. Pitt, Special To the New York Times.1 :
## [1] "In" "many" "ways" "it" "is" "the"
## [7] "same" "place" "but" "with" "different" "names"
## [ ... and 17 more ]
##
## [ reached max_ndoc ... 124 more documents ]
library(devtools)
## Loading required package: usethis
devtools::install_github("kbenoit/quanteda.dictionaries")
## Skipping install of 'quanteda.dictionaries' from a github remote, the SHA1 (b3c91606) has not changed since last install.
## Use `force = TRUE` to force installation
library(quanteda.dictionaries)
devtools::install_github("quanteda/quanteda.sentiment")
## Skipping install of 'quanteda.sentiment' from a github remote, the SHA1 (a2aca88b) has not changed since last install.
## Use `force = TRUE` to force installation
library(quanteda.sentiment)
##
## Attaching package: 'quanteda.sentiment'
## The following object is masked from 'package:quanteda':
##
## data_dictionary_LSD2015
review.sentiment <- liwcalike(as.character(corpus), data_dictionary_NRC)
review.sentiment
## docname Segment
## 1 1990-01-05 AP.1 1
## 2 1990-01-31 Reuters.1 2
## 3 1990-01-29 By Tom Wicker.1 3
## 4 1990-01-29 By Sam Roberts.1 4
## 5 1990-01-26 By George James, Special To the New York Times.1 5
## 6 1990-01-07 By David E. Pitt, Special To the New York Times.1 6
## 7 1990-01-21 By Angela delli Santi.1 7
## 8 1990-01-14 By Peter Applebome, Special To the New York Times.1 8
## 9 1989-12-29 By Ann Crittenden.1 9
## 10 1989-12-30 By Andrew H. Malcolm.1 10
## 11 1990-03-28 By Henry Kamm, Special To the New York Times.1 11
## 12 1990-03-20 NA.1 12
## 13 1990-03-18 By James Rutherford.1 13
## 14 1990-03-12 Special to The New York Times.1 14
## 15 1990-03-04 NA.1 15
## 16 1990-03-08 By Bruce Lambert.1 16
## 17 1990-03-30 NA.1 17
## 18 1990-03-28 AP.1 18
## 19 1990-03-28 By Douglas Martin.1 19
## 20 1990-03-26 AP.1 20
## 21 1990-05-20 By Andrew H. Malcolm, Special To the New York Times.1 21
## 22 1990-05-31 By Sam Roberts.1 22
## 23 1990-05-28 Special to The New York Times.1 23
## 24 1990-05-22 By David E. Pitt.1 24
## 25 1990-05-20 NA.1 25
## 26 1990-05-19 By Joseph F. Sullivan.1 26
## 27 1990-05-15 By Anthony Lewis.1 27
## 28 1990-05-13 By Elizabeth Anderson.1 28
## 29 1990-05-13 By Roberta Hershenson.1 29
## 30 1990-05-09 By Elizabeth Kolbert, Special To the New York Times.1 30
## 31 1990-07-31 AP.1 31
## 32 1990-07-09 NA.1 32
## 33 1990-07-20 By Evelyn Nieves.1 33
## 34 1990-07-20 NA.1 34
## 35 1990-07-19 Special to The New York Times.1 35
## 36 1990-07-15 By Dennis Hevesi.1 36
## 37 1990-07-14 By Alessandra Stanley.1 37
## 38 1990-07-14 By Glenn Fowler.1 38
## 39 1990-07-09 NA.2 39
## 40 1990-07-09 By Lisa Belkin, Special To the New York Times.1 40
## 41 1990-08-28 By Bill Keller, Special To the New York Times.1 41
## 42 1990-08-19 By Bruce Lambert.1 42
## 43 1990-08-19 AP.1 43
## 44 1990-08-03 By Jonathan Turley.1 44
## 45 1990-08-30 NA.1 45
## 46 1990-08-30 By Kevin Sack, Special To the New York Times.1 46
## 47 1990-08-30 NA.2 47
## 48 1990-08-31 By Bonnie Nathan.1 48
## 49 1990-08-30 By Craig Wolff.1 49
## 50 1990-08-28 By Jack Curry.1 50
## 51 1991-01-28 By Linda Greenhouse, Special To the New York Times.1 51
## 52 1991-01-26 By John J. O'Connor.1 52
## 53 1991-01-19 By Andrew H. Malcolm.1 53
## 54 1991-01-19 By Arnold H. Lubasch.1 54
## 55 1991-01-18 By Andrew H. Malcolm, Special To the New York Times.1 55
## 56 1991-01-13 NA.1 56
## 57 1991-01-12 By Tom Wicker.1 57
## 58 1991-01-09 By Tom Wicker.1 58
## 59 1991-01-09 By Linda Greenhouse, Special To the New York Times.1 59
## 60 1991-01-07 AP.1 60
## 61 1991-03-29 By Philip J. Hilts, Special To the New York Times.1 61
## 62 1991-03-27 AP.1 62
## 63 1991-03-22 AP.1 63
## 64 1991-03-28 By James Feron.1 64
## 65 1991-03-08 AP.1 65
## 66 1991-03-11 By Peter B. Flint.1 66
## 67 1991-03-31 NA.1 67
## 68 1991-03-31 NA.2 68
## 69 1991-03-30 By Joseph F. Sullivan, Special To the New York Times.1 69
## 70 1991-03-25 Special to The New York Times.1 70
## 71 1991-05-28 AP.1 71
## 72 1991-05-31 By Mark A. Uhlig.1 72
## 73 1991-05-29 By Chris Hedges.1 73
## 74 1991-05-30 By Sam Howe Verhovek.1 74
## 75 1991-05-26 AP.1 75
## 76 1991-05-31 By Dennis Hevesi.1 76
## 77 1991-05-30 By John Kifner.1 77
## 78 1991-05-29 By Chris Hedges.2 78
## 79 1991-05-19 By Peter Kerr.1 79
## 80 1991-05-19 AP.1 80
## 81 1991-07-31 NA.1 81
## 82 1991-07-15 AP.1 82
## 83 1991-07-16 AP.1 83
## 84 1991-07-12 By Frank Lynn.1 84
## 85 1991-07-08 Reuters.1 85
## 86 1991-07-08 By Selwyn Raab.1 86
## 87 1991-07-24 NA.1 87
## 88 1991-07-23 By Selwyn Raab.1 88
## 89 1991-07-02 AP.1 89
## 90 1991-07-18 By Selwyn Raab.1 90
## 91 1991-08-25 By Ronald Smothers.1 91
## 92 1991-08-22 By Ronald Smothers.1 92
## 93 1991-08-31 By Ronald Smothers.1 93
## 94 1991-08-26 NA.1 94
## 95 1991-08-17 By Noam S. Cohen.1 95
## 96 1991-08-05 AP.1 96
## 97 1991-08-30 By Ronald Smothers.1 97
## 98 1991-08-31 By David Johnston.1 98
## 99 1991-08-29 By Ronald Smothers.1 99
## 100 1991-08-28 By Ronald Smothers.1 100
## 101 1994-01-22 By Patrick E. Tyler.1 101
## 102 1994-01-23 By Charles Strum.1 102
## 103 1994-01-29 By Patrick E. Tyler.1 103
## 104 1994-01-25 By Ian Fisher.1 104
## 105 1994-01-24 By Richard L. Berke.1 105
## 106 1994-01-22 By Richard L. Berke.1 106
## 107 1994-01-05 By Ian Fisher.1 107
## 108 1994-01-21 By Thomas L. Friedman.1 108
## 109 1994-01-16 By Jay Romano.1 109
## 110 1994-01-12 By Francis X. Clines.1 110
## 111 1994-03-31 By James Dao.1 111
## 112 1994-03-28 By Mireya Navarro.1 112
## 113 1994-03-14 By Katharine Seelye.1 113
## 114 1994-03-06 By Patrick E. Tyler.1 114
## 115 1994-03-29 By Mary B. W. Tabor.1 115
## 116 1994-03-27 NA.1 116
## 117 1994-03-27 By Roberta Hershenson.1 117
## 118 1994-03-24 By Bernard Weinraub.1 118
## 119 1994-03-23 By Peter Marks.1 119
## 120 1994-03-23 By Mireya Navarro.1 120
## 121 1994-05-15 By Donna Greene.1 121
## 122 1994-05-08 NA.1 122
## 123 1994-05-29 By Norimitsu Onishi.1 123
## 124 1994-05-30 By Robert D. McFadden.1 124
## 125 1994-05-24 By Jacques Steinberg.1 125
## 126 1994-05-22 By Kirk Johnson.1 126
## 127 1994-05-03 By James C. McKinley Jr.1 127
## 128 1994-05-15 NA.1 128
## 129 1994-05-13 By Jerry Gray.1 129
## 130 1994-05-10 By Michael Janofsky.1 130
## WPS WC Sixltr Dic anger anticipation disgust fear joy negative
## 1 39.00000 39 35.90 12.82 0.00 0.00 0.00 2.56 0.00 5.13
## 2 31.00000 31 38.71 48.39 6.45 3.23 0.00 12.90 0.00 9.68
## 3 49.00000 49 24.49 8.16 0.00 2.04 0.00 2.04 0.00 4.08
## 4 35.00000 35 28.57 11.43 0.00 2.86 0.00 0.00 0.00 2.86
## 5 30.00000 30 13.33 40.00 3.33 3.33 0.00 10.00 0.00 10.00
## 6 18.00000 36 13.89 8.33 0.00 0.00 0.00 2.78 0.00 2.78
## 7 22.00000 44 25.00 27.27 2.27 4.55 4.55 2.27 2.27 2.27
## 8 29.00000 58 10.34 10.34 0.00 1.72 0.00 3.45 0.00 3.45
## 9 12.00000 12 8.33 83.33 16.67 0.00 0.00 16.67 0.00 25.00
## 10 36.00000 36 27.78 47.22 5.56 0.00 2.78 8.33 0.00 11.11
## 11 32.50000 65 10.77 23.08 4.62 0.00 0.00 1.54 1.54 7.69
## 12 16.33333 49 16.33 36.73 4.08 4.08 0.00 4.08 4.08 4.08
## 13 33.00000 66 24.24 39.39 4.55 1.52 0.00 7.58 1.52 6.06
## 14 27.00000 27 18.52 40.74 0.00 7.41 0.00 7.41 7.41 3.70
## 15 34.00000 68 23.53 11.76 1.47 1.47 0.00 1.47 1.47 1.47
## 16 35.00000 35 34.29 71.43 5.71 5.71 8.57 8.57 0.00 11.43
## 17 30.00000 60 21.67 16.67 0.00 0.00 1.67 1.67 0.00 5.00
## 18 25.50000 102 16.67 39.22 2.94 0.98 2.94 8.82 1.96 6.86
## 19 14.50000 29 17.24 17.24 0.00 3.45 3.45 3.45 0.00 6.90
## 20 31.00000 31 32.26 12.90 0.00 0.00 0.00 0.00 0.00 0.00
## 21 44.00000 44 20.45 27.27 2.27 4.55 0.00 4.55 0.00 9.09
## 22 8.00000 8 12.50 37.50 0.00 12.50 0.00 0.00 0.00 0.00
## 23 23.50000 47 21.28 42.55 4.26 2.13 2.13 10.64 0.00 8.51
## 24 43.00000 43 37.21 18.60 0.00 4.65 0.00 2.33 0.00 6.98
## 25 26.50000 53 24.53 26.42 3.77 0.00 0.00 5.66 1.89 5.66
## 26 27.00000 27 7.41 88.89 11.11 0.00 7.41 22.22 0.00 22.22
## 27 18.00000 54 18.52 62.96 12.96 0.00 5.56 11.11 1.85 12.96
## 28 32.00000 32 34.38 28.12 3.12 3.12 0.00 3.12 0.00 6.25
## 29 27.00000 27 18.52 3.70 0.00 0.00 0.00 0.00 0.00 0.00
## 30 37.00000 37 16.22 45.95 2.70 10.81 0.00 8.11 2.70 8.11
## 31 11.66667 35 25.71 20.00 2.86 0.00 0.00 2.86 0.00 5.71
## 32 34.00000 34 23.53 76.47 8.82 11.76 2.94 14.71 5.88 11.76
## 33 31.00000 31 35.48 22.58 3.23 0.00 0.00 3.23 0.00 6.45
## 34 51.00000 51 23.53 45.10 5.88 1.96 1.96 11.76 0.00 11.76
## 35 25.00000 25 16.00 68.00 12.00 8.00 4.00 12.00 4.00 12.00
## 36 53.00000 53 26.42 41.51 1.89 3.77 1.89 11.32 0.00 13.21
## 37 38.00000 38 36.84 31.58 2.63 2.63 0.00 5.26 0.00 10.53
## 38 18.66667 56 19.64 28.57 3.57 5.36 0.00 3.57 0.00 3.57
## 39 45.00000 45 28.89 6.67 0.00 0.00 0.00 0.00 0.00 2.22
## 40 21.50000 43 13.95 69.77 6.98 6.98 6.98 9.30 2.33 9.30
## 41 51.00000 51 23.53 23.53 1.96 3.92 0.00 1.96 0.00 3.92
## 42 30.00000 30 30.00 26.67 0.00 0.00 3.33 3.33 0.00 3.33
## 43 37.00000 37 24.32 35.14 5.41 2.70 0.00 8.11 0.00 10.81
## 44 23.00000 23 8.70 8.70 0.00 4.35 0.00 0.00 0.00 4.35
## 45 38.00000 38 26.32 31.58 2.63 2.63 0.00 0.00 2.63 7.89
## 46 36.00000 36 27.78 33.33 2.78 2.78 0.00 8.33 0.00 13.89
## 47 21.66667 65 13.85 20.00 0.00 1.54 3.08 4.62 0.00 4.62
## 48 42.00000 42 23.81 40.48 4.76 0.00 4.76 4.76 0.00 11.90
## 49 46.00000 46 23.91 23.91 4.35 0.00 0.00 6.52 0.00 8.70
## 50 24.00000 48 22.92 22.92 4.17 0.00 0.00 6.25 0.00 8.33
## 51 15.00000 15 46.67 13.33 0.00 0.00 0.00 0.00 0.00 0.00
## 52 28.00000 112 23.21 16.96 2.68 0.00 0.89 2.68 0.00 3.57
## 53 38.00000 38 34.21 44.74 5.26 5.26 0.00 5.26 2.63 5.26
## 54 24.00000 24 33.33 58.33 8.33 0.00 8.33 12.50 0.00 16.67
## 55 36.00000 72 29.17 22.22 0.00 4.17 0.00 2.78 1.39 0.00
## 56 23.00000 207 21.74 39.13 4.83 4.83 2.42 4.83 0.97 5.80
## 57 72.00000 72 22.22 16.67 1.39 1.39 0.00 1.39 0.00 5.56
## 58 14.00000 14 21.43 28.57 0.00 7.14 0.00 0.00 7.14 0.00
## 59 40.00000 40 27.50 30.00 10.00 7.50 0.00 7.50 0.00 2.50
## 60 31.00000 31 22.58 51.61 0.00 6.45 3.23 0.00 6.45 0.00
## 61 35.00000 35 25.71 65.71 8.57 8.57 5.71 5.71 2.86 8.57
## 62 27.33333 82 21.95 21.95 2.44 0.00 1.22 3.66 1.22 4.88
## 63 22.00000 44 34.09 43.18 9.09 2.27 0.00 11.36 0.00 9.09
## 64 43.00000 43 39.53 34.88 4.65 0.00 2.33 9.30 0.00 6.98
## 65 30.50000 61 29.51 16.39 1.64 0.00 0.00 1.64 0.00 4.92
## 66 15.66667 47 12.77 44.68 6.38 4.26 2.13 10.64 0.00 8.51
## 67 45.00000 45 26.67 20.00 2.22 0.00 0.00 6.67 0.00 2.22
## 68 43.00000 43 27.91 23.26 0.00 6.98 0.00 0.00 2.33 0.00
## 69 25.00000 25 28.00 48.00 0.00 4.00 0.00 4.00 0.00 8.00
## 70 41.00000 41 17.07 29.27 4.88 2.44 0.00 4.88 0.00 4.88
## 71 28.00000 28 17.86 64.29 10.71 0.00 3.57 10.71 0.00 17.86
## 72 51.00000 51 25.49 58.82 7.84 1.96 3.92 11.76 1.96 11.76
## 73 32.00000 32 28.12 21.88 3.12 0.00 0.00 6.25 0.00 6.25
## 74 43.00000 43 27.91 30.23 4.65 2.33 0.00 4.65 0.00 4.65
## 75 21.00000 42 21.43 40.48 7.14 0.00 0.00 9.52 0.00 9.52
## 76 45.00000 45 28.89 26.67 4.44 0.00 4.44 4.44 0.00 6.67
## 77 44.00000 44 29.55 40.91 9.09 0.00 2.27 9.09 2.27 6.82
## 78 26.00000 26 26.92 23.08 3.85 0.00 3.85 3.85 0.00 7.69
## 79 28.50000 57 19.30 31.58 3.51 3.51 1.75 3.51 0.00 8.77
## 80 33.00000 33 18.18 54.55 12.12 0.00 3.03 12.12 0.00 12.12
## 81 26.00000 52 21.15 19.23 1.92 1.92 0.00 3.85 0.00 3.85
## 82 43.00000 43 27.91 60.47 6.98 0.00 4.65 11.63 0.00 13.95
## 83 34.00000 34 23.53 14.71 2.94 0.00 0.00 2.94 0.00 2.94
## 84 19.00000 38 23.68 13.16 2.63 0.00 0.00 2.63 0.00 5.26
## 85 24.00000 24 29.17 33.33 4.17 0.00 0.00 8.33 4.17 4.17
## 86 23.00000 23 13.04 65.22 4.35 8.70 0.00 4.35 8.70 8.70
## 87 37.00000 37 13.51 8.11 2.70 0.00 0.00 0.00 0.00 2.70
## 88 31.00000 31 22.58 35.48 3.23 3.23 0.00 6.45 0.00 9.68
## 89 29.00000 116 18.10 31.90 3.45 0.00 5.17 4.31 1.72 6.03
## 90 33.00000 33 27.27 39.39 6.06 3.03 0.00 6.06 3.03 9.09
## 91 45.00000 45 28.89 20.00 0.00 4.44 0.00 2.22 0.00 0.00
## 92 32.00000 32 21.88 12.50 3.12 0.00 0.00 3.12 0.00 3.12
## 93 44.00000 44 25.00 38.64 9.09 0.00 0.00 9.09 0.00 9.09
## 94 30.00000 30 26.67 16.67 3.33 0.00 0.00 3.33 0.00 3.33
## 95 27.00000 27 25.93 7.41 0.00 0.00 0.00 0.00 0.00 0.00
## 96 28.00000 28 28.57 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## 97 45.00000 45 26.67 33.33 8.89 2.22 0.00 8.89 0.00 8.89
## 98 42.00000 84 17.86 58.33 9.52 4.76 2.38 11.90 2.38 11.90
## 99 33.00000 33 30.30 45.45 6.06 3.03 0.00 6.06 0.00 6.06
## 100 39.00000 39 23.08 33.33 5.13 2.56 0.00 5.13 2.56 7.69
## 101 56.00000 56 26.79 30.36 3.57 1.79 0.00 5.36 0.00 7.14
## 102 19.00000 19 26.32 15.79 0.00 0.00 0.00 0.00 0.00 0.00
## 103 45.00000 45 33.33 31.11 2.22 4.44 0.00 4.44 2.22 6.67
## 104 17.50000 70 18.57 20.00 2.86 2.86 0.00 0.00 1.43 2.86
## 105 33.00000 33 36.36 39.39 9.09 3.03 0.00 3.03 0.00 12.12
## 106 42.00000 42 33.33 19.05 4.76 0.00 0.00 2.38 0.00 4.76
## 107 50.00000 50 20.00 48.00 6.00 0.00 4.00 12.00 0.00 12.00
## 108 38.00000 38 26.32 21.05 0.00 0.00 0.00 0.00 0.00 0.00
## 109 38.00000 38 42.11 63.16 5.26 2.63 2.63 7.89 7.89 7.89
## 110 16.66667 50 16.00 32.00 4.00 2.00 4.00 6.00 0.00 6.00
## 111 16.33333 49 20.41 34.69 4.08 4.08 0.00 6.12 0.00 4.08
## 112 29.00000 58 27.59 25.86 1.72 5.17 0.00 1.72 1.72 3.45
## 113 42.00000 42 21.43 26.19 4.76 2.38 0.00 2.38 0.00 7.14
## 114 41.00000 41 29.27 34.15 2.44 2.44 2.44 7.32 0.00 9.76
## 115 25.33333 76 15.79 18.42 1.32 1.32 1.32 2.63 1.32 3.95
## 116 24.33333 73 26.03 36.99 5.48 1.37 4.11 4.11 1.37 9.59
## 117 11.66667 35 11.43 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## 118 66.00000 66 12.12 16.67 0.00 3.03 0.00 0.00 1.52 0.00
## 119 47.00000 47 19.15 46.81 8.51 4.26 2.13 8.51 0.00 12.77
## 120 19.66667 59 22.03 32.20 0.00 1.69 0.00 3.39 3.39 3.39
## 121 18.00000 72 20.83 47.22 5.56 4.17 5.56 6.94 2.78 8.33
## 122 22.50000 45 13.33 24.44 2.22 2.22 2.22 2.22 0.00 4.44
## 123 43.00000 43 23.26 25.58 2.33 0.00 0.00 9.30 0.00 2.33
## 124 27.00000 54 27.78 22.22 3.70 0.00 0.00 5.56 0.00 3.70
## 125 25.00000 50 32.00 36.00 0.00 0.00 2.00 8.00 0.00 8.00
## 126 27.50000 55 21.82 40.00 3.64 0.00 5.45 7.27 0.00 10.91
## 127 25.00000 50 22.00 26.00 2.00 4.00 0.00 4.00 2.00 2.00
## 128 30.00000 90 17.78 13.33 0.00 1.11 1.11 2.22 0.00 3.33
## 129 26.00000 26 34.62 42.31 7.69 0.00 7.69 7.69 0.00 7.69
## 130 19.50000 39 17.95 25.64 2.56 2.56 0.00 2.56 2.56 2.56
## positive sadness surprise trust AllPunc Period Comma Colon SemiC QMark
## 1 0.00 5.13 0.00 0.00 2.56 2.56 0.00 0.00 0.00 0.00
## 2 6.45 6.45 0.00 3.23 12.90 3.23 6.45 0.00 0.00 0.00
## 3 0.00 0.00 0.00 0.00 22.45 4.08 8.16 0.00 0.00 0.00
## 4 2.86 0.00 0.00 2.86 17.14 8.57 5.71 0.00 0.00 0.00
## 5 3.33 6.67 0.00 3.33 3.33 3.33 0.00 0.00 0.00 0.00
## 6 0.00 2.78 0.00 0.00 25.00 5.56 8.33 2.78 0.00 0.00
## 7 4.55 0.00 2.27 2.27 9.09 4.55 0.00 2.27 0.00 0.00
## 8 1.72 0.00 0.00 0.00 22.41 3.45 5.17 0.00 0.00 0.00
## 9 0.00 16.67 0.00 8.33 25.00 16.67 8.33 0.00 0.00 0.00
## 10 8.33 8.33 0.00 2.78 8.33 2.78 5.56 0.00 0.00 0.00
## 11 1.54 4.62 0.00 1.54 15.38 3.08 9.23 0.00 0.00 0.00
## 12 6.12 4.08 2.04 4.08 20.41 4.08 12.24 2.04 0.00 2.04
## 13 6.06 6.06 1.52 4.55 10.61 3.03 4.55 0.00 0.00 0.00
## 14 7.41 0.00 7.41 0.00 18.52 3.70 11.11 0.00 0.00 0.00
## 15 2.94 1.47 0.00 0.00 14.71 2.94 7.35 0.00 0.00 0.00
## 16 11.43 8.57 8.57 2.86 5.71 2.86 2.86 0.00 0.00 0.00
## 17 3.33 3.33 0.00 1.67 8.33 3.33 1.67 0.00 0.00 0.00
## 18 5.88 3.92 0.00 4.90 14.71 4.90 5.88 0.00 0.00 0.00
## 19 0.00 0.00 0.00 0.00 10.34 6.90 3.45 0.00 0.00 0.00
## 20 6.45 0.00 0.00 6.45 6.45 3.23 3.23 0.00 0.00 0.00
## 21 4.55 2.27 0.00 0.00 9.09 2.27 4.55 0.00 0.00 0.00
## 22 12.50 0.00 0.00 12.50 25.00 12.50 12.50 0.00 0.00 0.00
## 23 6.38 6.38 0.00 2.13 6.38 4.26 2.13 0.00 0.00 0.00
## 24 4.65 0.00 0.00 0.00 18.60 2.33 2.33 0.00 0.00 0.00
## 25 3.77 3.77 0.00 1.89 9.43 3.77 3.77 0.00 0.00 0.00
## 26 3.70 14.81 3.70 3.70 3.70 3.70 0.00 0.00 0.00 0.00
## 27 5.56 11.11 0.00 1.85 11.11 5.56 3.70 0.00 1.85 0.00
## 28 6.25 3.12 0.00 3.12 6.25 3.12 0.00 3.12 0.00 0.00
## 29 3.70 0.00 0.00 0.00 14.81 3.70 7.41 0.00 0.00 0.00
## 30 5.41 2.70 5.41 0.00 8.11 2.70 2.70 0.00 0.00 0.00
## 31 5.71 2.86 0.00 0.00 25.71 11.43 5.71 0.00 0.00 0.00
## 32 8.82 2.94 5.88 2.94 8.82 2.94 5.88 0.00 0.00 0.00
## 33 6.45 3.23 0.00 0.00 9.68 3.23 3.23 0.00 0.00 0.00
## 34 0.00 11.76 0.00 0.00 11.76 3.92 3.92 0.00 0.00 0.00
## 35 4.00 4.00 0.00 8.00 8.00 4.00 4.00 0.00 0.00 0.00
## 36 1.89 5.66 0.00 1.89 11.32 1.89 1.89 0.00 0.00 0.00
## 37 2.63 2.63 2.63 2.63 5.26 2.63 2.63 0.00 0.00 0.00
## 38 3.57 1.79 0.00 7.14 10.71 5.36 5.36 0.00 0.00 0.00
## 39 2.22 0.00 0.00 2.22 4.44 2.22 2.22 0.00 0.00 0.00
## 40 4.65 9.30 6.98 6.98 6.98 4.65 2.33 0.00 0.00 0.00
## 41 1.96 1.96 0.00 7.84 5.88 1.96 3.92 0.00 0.00 0.00
## 42 6.67 3.33 3.33 3.33 13.33 3.33 6.67 0.00 0.00 0.00
## 43 2.70 5.41 0.00 0.00 10.81 5.41 2.70 0.00 0.00 0.00
## 44 0.00 0.00 0.00 0.00 26.09 4.35 4.35 0.00 0.00 0.00
## 45 5.26 2.63 2.63 5.26 10.53 2.63 5.26 0.00 0.00 0.00
## 46 0.00 2.78 0.00 2.78 5.56 5.56 0.00 0.00 0.00 0.00
## 47 3.08 3.08 0.00 0.00 18.46 4.62 3.08 0.00 1.54 0.00
## 48 7.14 2.38 0.00 4.76 23.81 2.38 7.14 2.38 0.00 0.00
## 49 0.00 4.35 0.00 0.00 4.35 2.17 2.17 0.00 0.00 0.00
## 50 2.08 0.00 0.00 2.08 16.67 4.17 10.42 0.00 0.00 0.00
## 51 6.67 0.00 6.67 0.00 13.33 6.67 0.00 0.00 0.00 0.00
## 52 2.68 2.68 0.00 1.79 16.96 3.57 7.14 0.89 0.00 0.00
## 53 7.89 5.26 2.63 5.26 13.16 2.63 5.26 0.00 0.00 0.00
## 54 0.00 12.50 0.00 0.00 8.33 4.17 4.17 0.00 0.00 0.00
## 55 8.33 0.00 0.00 5.56 12.50 2.78 4.17 0.00 0.00 0.00
## 56 5.80 1.45 1.45 6.76 14.01 5.80 6.76 0.00 0.00 0.00
## 57 2.78 0.00 0.00 4.17 13.89 1.39 4.17 1.39 0.00 0.00
## 58 7.14 0.00 0.00 7.14 28.57 0.00 14.29 7.14 0.00 0.00
## 59 2.50 0.00 0.00 0.00 7.50 2.50 0.00 0.00 0.00 0.00
## 60 12.90 0.00 6.45 16.13 9.68 3.23 6.45 0.00 0.00 0.00
## 61 11.43 5.71 2.86 5.71 8.57 2.86 5.71 0.00 0.00 0.00
## 62 1.22 3.66 0.00 3.66 8.54 3.66 4.88 0.00 0.00 0.00
## 63 0.00 6.82 0.00 4.55 9.09 4.55 2.27 0.00 0.00 0.00
## 64 4.65 4.65 0.00 2.33 13.95 2.33 9.30 0.00 0.00 0.00
## 65 1.64 4.92 0.00 1.64 4.92 3.28 1.64 0.00 0.00 0.00
## 66 0.00 8.51 0.00 4.26 17.02 8.51 4.26 0.00 0.00 0.00
## 67 4.44 2.22 0.00 2.22 6.67 2.22 2.22 0.00 0.00 0.00
## 68 9.30 2.33 0.00 2.33 6.98 2.33 2.33 0.00 0.00 0.00
## 69 12.00 8.00 0.00 12.00 4.00 4.00 0.00 0.00 0.00 0.00
## 70 4.88 4.88 0.00 2.44 12.20 2.44 4.88 0.00 0.00 0.00
## 71 0.00 10.71 3.57 7.14 3.57 3.57 0.00 0.00 0.00 0.00
## 72 7.84 3.92 1.96 5.88 7.84 1.96 1.96 0.00 0.00 0.00
## 73 0.00 3.12 0.00 3.12 12.50 3.12 6.25 0.00 0.00 0.00
## 74 6.98 4.65 0.00 2.33 9.30 2.33 4.65 0.00 0.00 0.00
## 75 0.00 9.52 2.38 2.38 7.14 4.76 2.38 0.00 0.00 0.00
## 76 2.22 4.44 0.00 0.00 15.56 6.67 6.67 0.00 0.00 0.00
## 77 4.55 4.55 0.00 2.27 13.64 2.27 4.55 0.00 0.00 0.00
## 78 0.00 3.85 0.00 0.00 7.69 3.85 0.00 0.00 0.00 0.00
## 79 1.75 5.26 0.00 3.51 10.53 1.75 3.51 1.75 0.00 1.75
## 80 3.03 6.06 3.03 3.03 6.06 3.03 0.00 0.00 0.00 0.00
## 81 1.92 3.85 0.00 1.92 9.62 3.85 3.85 0.00 0.00 0.00
## 82 4.65 11.63 2.33 4.65 11.63 2.33 6.98 0.00 0.00 0.00
## 83 2.94 0.00 0.00 2.94 5.88 2.94 0.00 0.00 0.00 0.00
## 84 0.00 2.63 0.00 0.00 15.79 5.26 7.89 0.00 0.00 0.00
## 85 4.17 4.17 0.00 4.17 8.33 4.17 4.17 0.00 0.00 0.00
## 86 8.70 8.70 4.35 8.70 8.70 8.70 0.00 0.00 0.00 0.00
## 87 2.70 0.00 0.00 0.00 2.70 2.70 0.00 0.00 0.00 0.00
## 88 0.00 9.68 3.23 0.00 12.90 3.23 3.23 0.00 0.00 0.00
## 89 2.59 2.59 0.86 5.17 17.24 8.62 6.90 0.86 0.00 0.00
## 90 6.06 6.06 0.00 0.00 6.06 3.03 3.03 0.00 0.00 0.00
## 91 6.67 0.00 0.00 6.67 4.44 2.22 2.22 0.00 0.00 0.00
## 92 0.00 3.12 0.00 0.00 9.38 3.12 3.12 0.00 0.00 0.00
## 93 2.27 4.55 2.27 2.27 6.82 2.27 4.55 0.00 0.00 0.00
## 94 3.33 3.33 0.00 0.00 3.33 3.33 0.00 0.00 0.00 0.00
## 95 3.70 0.00 0.00 3.70 7.41 3.70 3.70 0.00 0.00 0.00
## 96 0.00 0.00 0.00 0.00 17.86 3.57 7.14 0.00 0.00 0.00
## 97 0.00 4.44 0.00 0.00 4.44 2.22 2.22 0.00 0.00 0.00
## 98 3.57 4.76 2.38 4.76 10.71 3.57 2.38 0.00 0.00 0.00
## 99 15.15 3.03 0.00 6.06 3.03 3.03 0.00 0.00 0.00 0.00
## 100 2.56 5.13 0.00 2.56 2.56 2.56 0.00 0.00 0.00 0.00
## 101 1.79 5.36 0.00 5.36 1.79 1.79 0.00 0.00 0.00 0.00
## 102 10.53 0.00 0.00 5.26 5.26 0.00 0.00 5.26 0.00 0.00
## 103 4.44 0.00 0.00 6.67 4.44 2.22 2.22 0.00 0.00 0.00
## 104 4.29 0.00 1.43 4.29 18.57 5.71 5.71 0.00 0.00 0.00
## 105 3.03 6.06 0.00 3.03 12.12 3.03 3.03 0.00 0.00 0.00
## 106 2.38 2.38 0.00 2.38 7.14 2.38 2.38 2.38 0.00 0.00
## 107 4.00 8.00 2.00 0.00 12.00 2.00 0.00 0.00 0.00 0.00
## 108 10.53 0.00 0.00 10.53 2.63 2.63 0.00 0.00 0.00 0.00
## 109 13.16 2.63 5.26 7.89 2.63 2.63 0.00 0.00 0.00 0.00
## 110 2.00 4.00 2.00 2.00 10.00 6.00 0.00 0.00 0.00 0.00
## 111 4.08 6.12 0.00 6.12 14.29 8.16 4.08 0.00 0.00 0.00
## 112 5.17 3.45 0.00 3.45 12.07 3.45 8.62 0.00 0.00 0.00
## 113 2.38 4.76 0.00 2.38 4.76 2.38 2.38 0.00 0.00 0.00
## 114 4.88 4.88 0.00 0.00 4.88 2.44 2.44 0.00 0.00 0.00
## 115 1.32 2.63 2.63 0.00 18.42 3.95 10.53 0.00 0.00 0.00
## 116 5.48 4.11 0.00 1.37 4.11 4.11 0.00 0.00 0.00 0.00
## 117 0.00 0.00 0.00 0.00 14.29 8.57 2.86 0.00 0.00 0.00
## 118 9.09 0.00 1.52 1.52 30.30 1.52 9.09 0.00 0.00 0.00
## 119 0.00 6.38 0.00 4.26 8.51 2.13 6.38 0.00 0.00 0.00
## 120 10.17 1.69 0.00 8.47 13.56 5.08 1.69 0.00 0.00 0.00
## 121 4.17 4.17 1.39 4.17 15.28 6.94 4.17 0.00 0.00 0.00
## 122 2.22 4.44 2.22 2.22 11.11 4.44 4.44 2.22 0.00 0.00
## 123 2.33 2.33 0.00 6.98 9.30 2.33 6.98 0.00 0.00 0.00
## 124 3.70 0.00 0.00 5.56 5.56 3.70 0.00 0.00 0.00 0.00
## 125 4.00 4.00 4.00 6.00 10.00 4.00 4.00 0.00 0.00 0.00
## 126 1.82 10.91 0.00 0.00 16.36 3.64 10.91 0.00 0.00 0.00
## 127 8.00 0.00 0.00 4.00 10.00 4.00 4.00 0.00 0.00 0.00
## 128 0.00 2.22 0.00 3.33 15.56 4.44 6.67 0.00 0.00 0.00
## 129 0.00 3.85 3.85 3.85 3.85 3.85 0.00 0.00 0.00 0.00
## 130 7.69 5.13 0.00 0.00 17.95 5.13 12.82 0.00 0.00 0.00
## Exclam Dash Quote Apostro Parenth OtherP
## 1 0 0.00 0.00 0.00 0 2.56
## 2 0 3.23 0.00 0.00 0 9.68
## 3 0 2.04 8.16 8.16 0 20.41
## 4 0 2.86 0.00 0.00 0 14.29
## 5 0 0.00 0.00 0.00 0 3.33
## 6 0 2.78 5.56 5.56 0 22.22
## 7 0 0.00 2.27 2.27 0 9.09
## 8 0 0.00 13.79 13.79 0 22.41
## 9 0 0.00 0.00 0.00 0 25.00
## 10 0 0.00 0.00 0.00 0 8.33
## 11 0 3.08 0.00 0.00 0 12.31
## 12 0 0.00 0.00 0.00 0 20.41
## 13 0 1.52 1.52 1.52 0 9.09
## 14 0 0.00 3.70 3.70 0 18.52
## 15 0 2.94 1.47 1.47 0 11.76
## 16 0 0.00 0.00 0.00 0 5.71
## 17 0 3.33 0.00 0.00 0 5.00
## 18 0 1.96 1.96 1.96 0 12.75
## 19 0 0.00 0.00 0.00 0 10.34
## 20 0 0.00 0.00 0.00 0 6.45
## 21 0 0.00 2.27 2.27 0 9.09
## 22 0 0.00 0.00 0.00 0 25.00
## 23 0 0.00 0.00 0.00 0 6.38
## 24 0 2.33 11.63 11.63 0 16.28
## 25 0 0.00 1.89 1.89 0 9.43
## 26 0 0.00 0.00 0.00 0 3.70
## 27 0 0.00 0.00 0.00 0 11.11
## 28 0 0.00 0.00 0.00 0 6.25
## 29 0 0.00 3.70 3.70 0 14.81
## 30 0 0.00 2.70 2.70 0 8.11
## 31 0 5.71 2.86 2.86 0 20.00
## 32 0 0.00 0.00 0.00 0 8.82
## 33 0 0.00 3.23 3.23 0 9.68
## 34 0 3.92 0.00 0.00 0 7.84
## 35 0 0.00 0.00 0.00 0 8.00
## 36 0 0.00 7.55 7.55 0 11.32
## 37 0 0.00 0.00 0.00 0 5.26
## 38 0 0.00 0.00 0.00 0 10.71
## 39 0 0.00 0.00 0.00 0 4.44
## 40 0 0.00 0.00 0.00 0 6.98
## 41 0 0.00 0.00 0.00 0 5.88
## 42 0 0.00 3.33 3.33 0 13.33
## 43 0 2.70 0.00 0.00 0 8.11
## 44 0 0.00 17.39 17.39 0 26.09
## 45 0 0.00 2.63 2.63 0 10.53
## 46 0 0.00 0.00 0.00 0 5.56
## 47 0 1.54 7.69 7.69 0 16.92
## 48 0 2.38 9.52 9.52 0 21.43
## 49 0 0.00 0.00 0.00 0 4.35
## 50 0 2.08 0.00 0.00 0 14.58
## 51 0 0.00 6.67 6.67 0 13.33
## 52 0 1.79 3.57 1.79 0 15.18
## 53 0 2.63 2.63 2.63 0 10.53
## 54 0 0.00 0.00 0.00 0 8.33
## 55 0 4.17 1.39 1.39 0 8.33
## 56 0 0.00 1.45 0.48 0 14.01
## 57 0 5.56 1.39 1.39 0 8.33
## 58 0 0.00 7.14 7.14 0 28.57
## 59 0 5.00 0.00 0.00 0 2.50
## 60 0 0.00 0.00 0.00 0 9.68
## 61 0 0.00 0.00 0.00 0 8.57
## 62 0 0.00 0.00 0.00 0 8.54
## 63 0 0.00 2.27 2.27 0 9.09
## 64 0 2.33 0.00 0.00 0 11.63
## 65 0 0.00 0.00 0.00 0 4.92
## 66 0 0.00 4.26 4.26 0 17.02
## 67 0 2.22 0.00 0.00 0 4.44
## 68 0 2.33 0.00 0.00 0 4.65
## 69 0 0.00 0.00 0.00 0 4.00
## 70 0 4.88 0.00 0.00 0 7.32
## 71 0 0.00 0.00 0.00 0 3.57
## 72 0 3.92 0.00 0.00 0 3.92
## 73 0 3.12 0.00 0.00 0 9.38
## 74 0 0.00 2.33 2.33 0 9.30
## 75 0 0.00 0.00 0.00 0 7.14
## 76 0 0.00 2.22 2.22 0 15.56
## 77 0 2.27 2.27 2.27 0 11.36
## 78 0 0.00 3.85 3.85 0 7.69
## 79 0 1.75 0.00 0.00 0 8.77
## 80 0 3.03 0.00 0.00 0 3.03
## 81 0 1.92 0.00 0.00 0 7.69
## 82 0 2.33 0.00 0.00 0 9.30
## 83 0 2.94 0.00 0.00 0 2.94
## 84 0 0.00 2.63 2.63 0 15.79
## 85 0 0.00 0.00 0.00 0 8.33
## 86 0 0.00 0.00 0.00 0 8.70
## 87 0 0.00 0.00 0.00 0 2.70
## 88 0 6.45 0.00 0.00 0 6.45
## 89 0 0.00 0.86 0.86 0 17.24
## 90 0 0.00 0.00 0.00 0 6.06
## 91 0 0.00 0.00 0.00 0 4.44
## 92 0 3.12 0.00 0.00 0 6.25
## 93 0 0.00 0.00 0.00 0 6.82
## 94 0 0.00 0.00 0.00 0 3.33
## 95 0 0.00 0.00 0.00 0 7.41
## 96 0 7.14 0.00 0.00 0 10.71
## 97 0 0.00 0.00 0.00 0 4.44
## 98 0 3.57 1.19 1.19 0 7.14
## 99 0 0.00 0.00 0.00 0 3.03
## 100 0 0.00 0.00 0.00 0 2.56
## 101 0 0.00 0.00 0.00 0 1.79
## 102 0 0.00 0.00 0.00 0 5.26
## 103 0 0.00 0.00 0.00 0 4.44
## 104 0 2.86 4.29 1.43 0 15.71
## 105 0 3.03 3.03 3.03 0 9.09
## 106 0 0.00 0.00 0.00 0 7.14
## 107 0 10.00 0.00 0.00 0 2.00
## 108 0 0.00 0.00 0.00 0 2.63
## 109 0 0.00 0.00 0.00 0 2.63
## 110 0 4.00 0.00 0.00 0 6.00
## 111 0 2.04 0.00 0.00 0 12.24
## 112 0 0.00 0.00 0.00 0 12.07
## 113 0 0.00 0.00 0.00 0 4.76
## 114 0 0.00 0.00 0.00 0 4.88
## 115 0 0.00 3.95 1.32 0 18.42
## 116 0 0.00 0.00 0.00 0 4.11
## 117 0 0.00 2.86 2.86 0 14.29
## 118 0 0.00 19.70 1.52 0 30.30
## 119 0 0.00 0.00 0.00 0 8.51
## 120 0 0.00 6.78 0.00 0 13.56
## 121 0 2.78 1.39 1.39 0 12.50
## 122 0 0.00 0.00 0.00 0 11.11
## 123 0 0.00 0.00 0.00 0 9.30
## 124 0 1.85 0.00 0.00 0 3.70
## 125 0 2.00 0.00 0.00 0 8.00
## 126 0 0.00 1.82 1.82 0 16.36
## 127 0 0.00 2.00 2.00 0 10.00
## 128 0 4.44 0.00 0.00 0 11.11
## 129 0 0.00 0.00 0.00 0 3.85
## 130 0 0.00 0.00 0.00 0 17.95
ggplot(review.sentiment)+
geom_histogram(aes(x=positive))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(review.sentiment)+
geom_histogram(aes(x=negative))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
max(review.sentiment$positive)
## [1] 15.15
max(review.sentiment$negative)
## [1] 25