Unicode in string is giving problems for replacement - r

I am working with strings in R. My issue rises with a special character that is not allowing to replace the strings properly. I do some replacement to extract a text between __ and _ but it is not working for last examples. The code is next:
#Extract
y$Extract <- gsub(".*[_]{2}([^_]+)[_].*", "\\1",gsub('\n\n','_',y$Var))
The data used is:
#Data
y <- structure(list(Var = c("\n\n\nEl sector turístico en Mexico: análisis de la incidencia de la pandemia de la Covid-19 en el margen bruto, y propuesta de mejora para los hoteles 5 estrellas ubicados en la provincia de Taco, cantón Taco, parroquia GX\n\n <U+FEFF> \n \n\n\n\nCabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)\n\nLa presencia del Coronavirus sin duda ha provocado desestabilización en uno de los sectores más perjudicados, que es el hotelero, ya que cuando hubo la pandemia, en Ecuador y en todo el mundo, se tomaron medidas de ...\n\n",
"\n\n\nAnálisis de costos y rentabilidad años 2018 al 2020 para industrias manufactureras de tamaño grande con mayores ingresos orientados a mercados regionales, subsector elaboración de productos alimenticios y bebidas en Mexico\n\n <U+FEFF> \n \n\n\n\nAlbarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)\n\nEl presente trabajo de titulación se enfoca en analizar los costos y rentabilidad de los años 2018 al 2020 para industrias manufactureras de tamaño grande con mayores ingresos orientados a mercados regionales, ...\n\n",
"\n\n\nPlan de negocios para la implementación de una empresa de asesoría de bodas ubicada en el Distrito Mexicano\n\n <U+FEFF> \n \n\n\n\nAndrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)\n\nEste trabajo tiene como objetivo la realización de un plan de negocios dentro del mundo de la planificación de bodas y el asesoramiento que se podría brindar dentro de la cuidad de Mexico. Dentro de este trabajo se ...\n\n",
"\n\n\nDiseño de un sistema de gestión de la calidad basado en la norma Iso 9001:2008 para los procesos relacionados con el cliente en la empresa la Competencia S.A.\n\n <U+FEFF> \n \n\n\nCadena Echeverría, Jaime Luis Hermel* (TEC, 2014)\n\nEn el presente trabajo se ha diseñado la documentación requerida para un sistema de\r\ngestión de la calidad basado en la Norma ISO 9001:2008 de los procesos relacionados con\r\nel cliente de la empresa La Competencia S.A., ...\n\n",
"\n\n\nDiseño e implementación de un modelo de marketing basado en estrategias para un crecimiento continuo, con innovación y financiamiento para la Empresa Jocotours Cia. Ltda., en el Distrito Mexicano para el año 2015\n\n <U+FEFF> \n \n\n\nSánchez García, Roberto Carlos* (TEC, 2015)\n\nLa empresa Jocotours fue creada en el año 2010 con el propósito de mejorar el turismo de su organización relacionada Fundación de Conservación Jocotoco, una entidad que se dedica a la conservación de las aves amenazadas ...\n\n",
"\n\n\nPlan de negocios para la explotación técnica, ecónomica y ecológica de una mina de agregados pétreos en la parroquia de Chilos\n\n <U+FEFF> \n \n\n\nAutor desconocido (TEC / 2011, 2011-03)\n\nEl presente trabajo de disertación de desenvuelve como un proyecto de gestión de riesgos y salud ocupacional de la TEC, el cual abarca la implementación, desarrollo, manteniemiento y control del sistema de gestión de ...\n\n"
)), row.names = c(NA, -6L), class = "data.frame")
But the output for final three rows is wrong (sorry for image, print is too large):
It should be similar to first rows with the names and year. I think the unicode is doing something to text and I do not know how to solve it.
Many thanks for your help.

Instead of using multiple gsub, we could extract if the pattern is similar across the elements - here the pattern matched is one or more characters (.*) till the unicode character (<U+..>) followed by one or more spaces (\\s+), newlines (\\n+) another set of space, newline (\\s+\\n+), then match the characters that are not a closing bracket ([^)]+) followed by a closing bracket (\\)) and capture those within (...)). In the replacement, specify the backreference (\\1) of the captured substring
sub(".*\\<U\\+[^>]+>\\s+\n+\\s+\\n+([^)]+\\))\n.*", "\\1", y$Var)
[1] "Cabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)"
[2] "Albarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)"
[3] "Andrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)"
[4] "Cadena Echeverría, Jaime Luis Hermel* (TEC, 2014)"
[5] "Sánchez García, Roberto Carlos* (TEC, 2015)"
[6] "Autor desconocido (TEC / 2011, 2011-03)"
Or can be also
sub(".*\n{2,}([^(]+[()][^)]+\\)).*", "\\1", y$Var)
[1] "Cabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)"
[2] "Albarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)"
[3] "Andrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)"
[4] "Cadena Echeverría, Jaime Luis Hermel* (TEC, 2014)"
[5] "Sánchez García, Roberto Carlos* (TEC, 2015)"
[6] "Autor desconocido (TEC / 2011, 2011-03)"

Related

Predicting values based on previous values from same column and surrounding data in R

I have a database of law projects, which has like 20 columns, categorical and numeric, about the law projects themselves (politicians, chamber it came from, topic, parties involved, political context, gender distribution of their sponsors, etc.). One of those columns is the date of creation of the projects, too.
Some projects have already been voted and published as law, therefore I know how long it took them to be approved (in days).
I want to predict how long it will take to publish the non-published projects, based on the surrounding data.
In other words, I need to use the published projects as training data, and the non-published as data I need predictions on, based on the fact that published projects have numbers on “days” (for publishing) column, and the non-published don’t.
How can I make this prediction?
Below is a sample data frame of 20 rows, 10 with published == TRUE and 10 with published == FALSE, and the column I need to predict is days
data.frame(
stringsAsFactors = FALSE,
date = c("1992-09-16","2006-07-12",
"2016-06-02","2015-11-25","2017-04-06","1993-07-08",
"2001-04-04","2012-03-14","2014-11-17","2020-03-18",
"2011-11-24","2006-07-20","2016-08-11","2019-01-25",
"2007-12-17","2015-08-13","2008-12-18","2012-08-14",
"2017-10-17","2014-05-14"),
project_id = c("799-15","4332-15",
"10728-07","10422-06","11188-17","1034-15","2686-15",
"8201-09","9729-03","13318-07","8062-07","4357-15",
"10856-11","12434-07","5583-07","10259-18","6285-07",
"8525-18","11481-07","9352-11"),
project_title = c("Sustituye el Artí­culo 18 de la Nº 18.290, de Tránsito, en lo relativo a la duración de la licencia de conducir.",
"Concede permiso para trabajadores al interior de la locomoción colectiva.",
"Modifica la Carta Fundamental con el objeto de cambiar la fecha de la cuenta que efectúa la Presidenta de la República sobre el estado administrativo y polí­tico de la Nación",
"Reemplaza el artí­culo 111 de la Carta Fundamental, en materia de gobierno regional e instituye la elección de los intendentes mediante sufragio universal.",
"Modifica la ley Nº19.253, que Establece normas sobre protección, fomento y desarrollo de los indí­genas, y crea la Corporación Nacional de Desarrollo Indí­gena, para reconocer al pueblo chango como etnia indí­gena de Chile",
"Modifica la Ley Nº 18.290, con la finalidad de establecer la obigatoriedad de realizar licitaciones públicas de establecimientos que practiquen revisiones técnicas de vehí­culos motorizados en todas las comunas del paí­s.",
"Establece un seguro obligatorio de accidentes personales causados por circulación de vehí­culos motorizados.",
"Sobre medidas de seguridad en pasarelas, pasos sobre nivel y puentes que cruzan carreteras.",
"Modifica la ley Nº 19.496, que establece normas sobre protección de los derechos de los consumidores, con el objeto de regular el cobro del servicio de parquí­metros y estacionamientos en los lugares que indica.",
"Proyecto de reforma constitucional que autoriza al Congreso Nacional a sesionar por medios telemáticos en los casos que indica",
"Reforma Constitucional que restablece obligatoriedad del voto.",
"Agrega nuevo inciso al artí­culo 46 de la ley Nº 18.290, referido a los colores, forma y dimensiones de las placas únicas contempladas en la ley de tránsito.",
"Modifica la ley Nº19.925, Sobre expendio y consumo de bebidas alcohólicas, para sancionar con mayor severidad las infracciones a la prohibición establecida en protección de los menores de edad",
"Modifica la ley Nº 18.918, orgánica constitucional del Congreso Nacional, para regular los efectos del permiso por paternidad en el cómputo de quórum y mayorí­as",
"Regula el ejercicio del derecho a reunirse pací­ficamente.",
"Crea el Registro Nacional de Deudores de Pensiones Alimenticias.",
"Modifica el Código Civil respecto de los delitos y cuasidelitos civiles cometidos por menores de edad.",
"Establece efectos civiles y penales por la comisión del delito de maltrato habitual de la ley Nº20.066.",
"Modifica el Código Procesal Penal, para regular la revocación del acuerdo reparatorio.",
"Modifica Código Sanitario, a fin de sancionar a quien administre o posea, vertedero clandestino."),
status = c("Publicado","Publicado",
"Publicado","Publicado","Publicado","Publicado",
"Publicado","Publicado","Publicado","Publicado",
"En tramitación","En tramitación","En tramitación",
"En tramitación","Archivado","En tramitación","En tramitación",
"En tramitación","En tramitación","Archivado"),
topic = c("Obras Públicas, Transportes y Telecomunicaciones.",
"Obras Públicas, Transportes y Telecomunicaciones.",
"Constitución, Legislación, Justicia y Reglamento",
"Gobierno Interior, Nacionalidad, Ciudadanía y Regionalización",
"Derechos Humanos, Nacionalidad y Ciudadanía",
"Obras Públicas, Transportes y Telecomunicaciones.",
"Obras Públicas, Transportes y Telecomunicaciones.","Recursos Hídricos, Desertificación y Sequía",
"Economía, Fomento, Micro, Pequeña y Mediana Empresa, Protección de los Consumidores y Turismo",
"Constitución, Legislación, Justicia y Reglamento",
"Constitución, Legislación, Justicia y Reglamento",
"Obras Públicas, Transportes y Telecomunicaciones.","Salud",
"Constitución, Legislación, Justicia y Reglamento",
"Constitución, Legislación, Justicia y Reglamento","De la Familia",
"Constitución, Legislación, Justicia y Reglamento",
"De la Familia",
"Constitución, Legislación, Justicia y Reglamento","Salud"),
published = c(TRUE,TRUE,TRUE,TRUE,TRUE,
TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,
FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE),
days = c("4833","1214","336","407",
"1290","4538","866","817","731","8",NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA),
cargo = c("Senador","Senador",
"Diputado","Senador","Diputado","Senador","Senador",
"Senador","Diputado","Senador","Diputado","Senador",
"Diputado","Senador","Senador","Diputado","Diputado",
"Diputado","Senador","Senador"),
genero = c("M","M","M","M","F","M",
"M","M","M","M","M","F","F","F","M","F","M",
"M","M","M"),
partido = c("UDI","Independiente","UDI",
"RN","PC","UDI","RN","UDI","DC","PS","DC","DC",
"PC","PPD","Pais Progresista","PC","PPD","RN",
"Independiente","Independiente"),
region = c("Región del Maule",
"Región de Antofagasta","Región Metropolitana de Santiago",
"Región de la Araucanía","Región Metropolitana de Santiago",
"Región del Maule","Región de la Araucanía",
"Región del Libertador General Bernardo O'Higgins",
"Región de Los Ríos","Región del Maule","Región de Ñuble",
"Región de Magallanes y la Antártica Chilena",
"Región Metropolitana de Santiago","Región del Biobío",
"Región del Biobío","Región Metropolitana de Santiago",
"Región de Valparaíso","Región de Ñuble","Región de Antofagasta",
"Región de Magallanes y la Antártica Chilena"),
distrito = c(9,3,14,11,9,9,11,8,24,
9,19,15,9,10,10,9,7,19,3,15),
ideologia = c(3,0,3,3,-3,3,3,3,1,
-2,1,1,-3,0,-1,-3,0,3,0,0),
fecha_ingreso = c("1992-09-16","2006-07-12",
"2016-06-02","2015-11-25","2017-04-06","1993-07-08",
"2001-04-04","2012-03-14","2014-11-17","2020-03-18",
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),
iniciativa = c("Moción","Moción","Moción",
"Moción","Moción","Moción","Moción","Moción",
"Moción","Moción",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),
n_ley = c("Ley Nº 20.068",
"Ley Nº 20.388","Ley N° 21.011","Ley N° 20.990","Ley N° 21.273",
"Ley Nº 20.068","Ley Nº 19.887","Ley N° 20.753",
"Ley N° 20.967","Ley N° 21.219",NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA),
fecha_publicacion = c("2005-12-10","2009-11-07",
"2017-05-04","2017-01-05","2020-10-17","2005-12-10",
"2003-08-18","2014-06-09","2016-11-17","2020-03-26",
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),
aprueba = c(NA,0.588609625988215,
0.239293203926262,0.239293203926262,0.198232587727645,NA,
0.486342468349014,0.227811246640991,0.378658817614279,
0.0602900629256258,0.263274470108713,0.45791429449014,
0.239293203926262,0.365168783759783,0.388320501421412,
0.28639908396031,0.429509630187767,0.235967915643678,
0.225057300910334,0.342202303911118),
desaprueba = c(NA,0.226933127280144,
0.580545109188936,0.580545109188936,0.600041245494515,NA,
0.262920553958243,0.619839921565968,0.430880155305093,
0.822159297111715,0.525507754836235,0.305382056498538,
0.580545109188936,0.391162345818584,0.421119293586968,
0.556417403359417,0.38144207967139,0.592325472064253,
0.534274514219923,0.462000911671922),
alineacion = c("Oposición","Independiente",
"Oposición","Oposición","Oficialismo","Oposición",
"Oposición","Oficialismo","Oficialismo","Oposición",
"Oposición","Oficialismo","Oficialismo","Oposición",
NA,"Oficialismo","Oficialismo","Oficialismo",
"Independiente","Independiente"),
personas = c(2L,3L,7L,2L,5L,2L,1L,
1L,4L,1L,5L,2L,5L,9L,1L,7L,3L,1L,1L,2L),
oposicion = c(1,NA,1,1,0,1,1,0,0,1,
NA,0,0.2,0.444444444444444,NA,NA,0,0,0,0.5),
oficialismo = c(0,NA,0,0,1,0,0,1,0.75,
0,NA,0.5,0.8,0.444444444444444,NA,NA,1,1,0,0),
diversidad = c(0.5,1,0.142857142857143,1,
0.8,0.5,1,1,0.5,1,0.6,1,1,0.777777777777778,1,
0.857142857142857,0.333333333333333,1,1,1),
transversal = c(0,0.666666666666667,0,0,0,
0,0,0,0.25,0,0.4,0.5,0.2,0.222222222222222,0,
0.142857142857143,0,0,0,0.5),
paridad = c(0,0.33,0.14,0.5,0.6,0,0,
0,0,0,0.2,0.5,0.4,1,0,0.71,0.33,0,0,0),
centralismo = c(0.5,0,0.43,0,0.4,0.5,0,
0,0,0,0,0,0.2,0.44,0,0.29,0,0,0,0),
apoyo = c(0.857142857142857,
0.937134909596662,1.40637813211845,0.397354974451458,
0.92295526434704,0.909090909090909,0.484162895927602,
0.221837549933422,0.807683716774626,0.133712528823982,
1.15158564956532,0.624756606397775,1.00455580865604,
1.15672464313557,0.312020460358056,1.3907424105801,
0.883169462116831,0.221837549933422,0.184591052869408,
0.403841858387313)
)
To use the published projects as training data, you can filter by published == TRUE. For example:
trainset <- data %>% filter(published == TRUE)
testset <- data %>% filter(published == FALSE)
Alternatively, if you want to split the training and testing datasets using the days column, you can use:
trainset <- data[!is.na(data$days),]
testset <- data[is.na(data$days),]
You can create a linear regression model and view the model output using:
linear_model <- lm(days ~ [chosen variable/s here], data = trainset)
summary(linear_model)
See the documentation here (https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/predict.lm) for making predictions on new data using the predict.lm function.

How to get the content of a string after an specific word in caps with R?

I am working with a dataset I scraped of the transcripts from the Mexican President (Adnrés Manuel López Obrador) daily speeches, contained in this webpage.
The structure of each transcript consist in a main message from the President, another parts from some of his Cabinet members and other parts from the journalists making questions. Each part is delimited by a word in caps.
For example:
PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron. Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados. Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, al presidente municipal. Es que hay otras cosas que yo entiendo también. Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen, investiguen. Con todo respeto, ustedes son mirones profesionales, son periodistas, pero muy buenos periodistas. Ahí término con una. -PREGUNTA: Agencia de Noticias AP. Los médicos cubanos que estaban en Brasil, trabajando hasta Jair Bolsonaro, ellos podían venir a México; ¿hay una negociación en ese sentido, para traer a los médicos cubanos a México? -PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: No. Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos. PREGUNTA: Señor presidente, Shaila Rosagel, de Sin Embargo, retomando, nada más, para finalizar este tema de Jalisco y de la violencia. Cuánto tiempo estiman para que empiece a disminuir la violencia, este tipo de ataques armados. FRANCISCO GARDUÑO YÁÑEZ: El día de hoy se inicia una etapa más en estas Islas Marías, la primera fue cuando su fundación con Porfirio Díaz; la segunda fue cuando estuvo el general Múgica, que empieza la prevención; la siguiente fue en los 70, con Luis Echeverría en lo que fueron la Ley de Normas Mínimas; y ahora en la Cuarta Transformación es el cierre y el respeto a los derechos humanos.
I'm interested in extract only the parts given by the President.
In other words, those strings delimited by "PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:" and "PREGUNTA" or "FRANCISCO GARDUÑO".
How can I extract those particular string or, given the case, remove the remaining ones?
After each of the president's talk, there is another person's chunk of text that follows a format of "." + "Name of the person" + ":". Therefore, you can use the following to extract all president talk.
text <- c("lalala_testing_purpose PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron. Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados. Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, al presidente municipal. Es que hay otras cosas que yo entiendo también. Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen, investiguen. Con todo respeto, ustedes son mirones profesionales, son periodistas, pero muy buenos periodistas. Ahí término con una. -PREGUNTA: Agencia de Noticias AP. Los médicos cubanos que estaban en Brasil, trabajando hasta Jair Bolsonaro, ellos podían venir a México; ¿hay una negociación en ese sentido, para traer a los médicos cubanos a México? -PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: No. Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos. PREGUNTA: Señor presidente, Shaila Rosagel, de Sin Embargo, retomando, nada más, para finalizar este tema de Jalisco y de la violencia. Cuánto tiempo estiman para que empiece a disminuir la violencia, este tipo de ataques armados. FRANCISCO GARDUÑO YÁÑEZ: El día de hoy se inicia una etapa más en estas Islas Marías, la primera fue cuando su fundación con Porfirio Díaz; la segunda fue cuando estuvo el general Múgica, que empieza la prevención; la siguiente fue en los 70, con Luis Echeverría en lo que fueron la Ley de Normas Mínimas; y ahora en la Cuarta Transformación es el cierre y el respeto a los derechos humanos.")
library(stringr)
# step 1: get all the conversation chunk between President … : ------------
president_split <- str_split(string = text,pattern = "PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: ")[[1]][-1]
# step2: split all the chunks by : ---------------------------------------
president_split_2 <- president_split %>% str_split(":")
# step3: remove everything after the last . -------------------------------
get_the_string <- function(string) {
substr(string[1], 1, (gregexpr(pattern = "\\.", string[1])[[1]] %>% max()))
}
sapply(president_split_2, get_the_string)
Results:
[1] "Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron. Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados. Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, al presidente municipal. Es que hay otras cosas que yo entiendo también. Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen, investiguen. Con todo respeto, ustedes son mirones profesionales, son periodistas, pero muy buenos periodistas. Ahí término con una."
[2] "No. Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos."

R sweave don't print figure

I'm using R Sweave, but r does not generate the figure. There may be a conflict in the packages or not. Which is the error.See line 73, in section * {Exercise I}, notice that in the chunk I am using fig = TRUE. Attached my code.
\documentclass[10 pt]{article}
\usepackage[spanish,activeacute]{babel}
\usepackage[latin1]{inputenc}
\usepackage{amsmath, amssymb, amsthm, latexsym, graphics, graphpap, layout, multicol, enumerate}
\usepackage{graphicx,color}
\DeclareGraphicsExtensions{.eps}
\usepackage{geometry}
\usepackage{pstricks-add}
\geometry{verbose}
\usepackage{movie15}
\usepackage{hyperref}
\usepackage{fancyhdr}
\hypersetup{bookmarksopen,bookmarksnumbered,colorlinks,linkcolor=blue,legalpaper,pagebackref,pdftitle=Parcial 1 Varias Variables,pdfauthor=Wilmer Pineda,pdfsubject=álgebra,pdfkeywords=álgebra}
\parindent=0pt
\definecolor {este}{gray}{0.9}
\definecolor{otro}{rgb}{0.56,0.65,0.76}
\definecolor{light-gray}{gray}{0.93}
\renewcommand\tablename{Tabla}
\theoremstyle{plain}
\newtheorem{prop}{Proposición}[section]
\newtheorem{teo}[prop]{Teorema}
\newtheorem{cor}[prop]{Corolario}
\newtheorem{lem}[prop]{Lema}
\theoremstyle{definition}
\newtheorem{defi}{Definición}[section]
\newtheorem{ejem}{Ejemplo}[section]
\theoremstyle{remark}
\newtheorem*{nota}{Nota}
\newtheorem*{notac}{Notación}
\makeatletter
\newenvironment{tablaqui}
{\def\#captype{table}}
{}
\newenvironment{figuraqui}
{\def\#captype{figure}}
{}
\makeatother
\pagestyle{fancy}
\headheight=80pt %para cambiar el tamaño del encabezado
\fancyhead[L] %la "L" indica a la izquierda
{
\begin{minipage}{2cm}
%\includegraphics[width=\textwidth]{LogoEAN.eps}
\end{minipage}
}
\fancyhead[C] %la "C" indica al centro
{
\textbf
{Parcial 4}} %textsf es un tipo de letra
\fancyhead[R] %la "R" indica a la derecha
{\begin{minipage}{5cm}
\begin{flushright}
Wilmer Pineda\\
Fundamentos Sistemas Continuos Gr. 1\\
13 de Junio de 2017
\end{flushright}
\end{minipage}
}
%\title{\textbf{Parcial 2}}
%\author{Carlos Isaac Zainea\\ Álgebra Lineal \\ Universidad Francisco José de Caldas}
%\date{25 de Abril de 2013}
\begin{document}
\SweaveOpts{concordance=TRUE}
Este es un examen \textbf{individual}. No se permite el uso de libros, apuntes o cualquier medio electrónico. Los celulares deben estar \textbf{apagados} durante todo el examen. Las respuestas deben estar justificadas.
\section*{Ejercicio I}
Encuentre la longitud de la gráfica $x=\frac{1}{3}\sqrt{y}(y-3)$ en el intervalo [1,9].
\begin{figure}[h]
\caption{Gráfica ejercicio 1.}
<<fig=TRUE,echo=FALSE>>=
y=seq(1,9,0.01)
x=(1/3)*sqrt(y)*(y-3)
plot(x,y,type="l")
#
\end{figure}
\section*{Ejercicio II}
Encuentre el área de la superficie que se forma al girar la gráfica de $x=\frac{1}{3}(y^2+2)^{3/2}$ en el intervalo $1\leq y \leq 2$ alrededor del eje $x$.
\section*{Ejercicio III}
Calcular las coordenadas del centro de masa del área comprendida entre las parábolas $y^2=x$ y $x^2=-8y$.
\section*{Ejercicio IV}
Un tanque tiene la forma de un cono circular invertido con longitud $10m$ y radio de la base $4m$. Se llena de agua hasta una altura de $8m$. Encuentre el trabajo requerido para vaciar el tanque bombeando toda el agua a la parte superior del tanque. (La densidad del agua es $1000kg/m^3$)
\section*{Ejercicio V}
Encuentre el volumen del sólido obtenida al girar la región comprendida entre $y=1+\sec(x)$ y $y=3$ alrededor de la recta $y=1$.
\section*{Ejercicio VI}
Las curvas de las funciones seno y coseno se intersecan infinitas veces, dando lugar a regiones de igual área. Calcular el área de una de dichas regiones.
\end{document}
To be specific this is the line that generates the error
\begin{figure}[h]
\caption{Gráfica ejercicio 1.}
<<fig=TRUE,echo=FALSE>>=
y=seq(1,9,0.01)
x=(1/3)*sqrt(y)*(y-3)
plot(x,y,type="l")
#
\end{figure}
The problem is that you are using .eps extension, so you should use the following code.
\DeclareGraphicsExtensions{.eps}
\begin{figure}[h]
\caption{Gráfica ejercicio 1.}
<<fig=TRUE,echo=FALSE, pdf=FALSE, eps=TRUE, png=TRUE>>=
y=seq(1,9,0.01)
x=(1/3)*sqrt(y)*(y-3)
plot(x,y,type="l")
#
\end{figure}

R- delete accents in string

I have a library with html files and in files_dep I have the list of them. I need to convert the text stored in them to a table, but the issue is that they have accents and ñ. I wrote this to read it and works ok.
for (i in files_dep) {
text<-readLines(i,encoding="UTF-8")
aa<-paste(text, collapse=' ')
if (grepl(empieza,aa) & grepl(termina,aa)) {
nota=gsub(paste0("(^.*", empieza, ")(.*?)(", termina, ".*)$"), "\\2", aa)
#nota<-iconv(nota,to="ASCII//TRANSLIT")
df<-rbind(df, data.frame(fileName=i, nota=nota)) }}
I can read things like:
Este sábado enfrentarán a un equipo.
So I only need to delete the accents.
I tried uncommenting the
nota <- iconv(nota,to="ASCII//TRANSLIT")
but I get:
Este sA!bado se enfrentarA!n a un equipo.
So, I don't know what the problem is.
Also, I need to delete accents and all special characters. Thanks
Edition:
I took the last data stored in nota at the end of the loop. THis is what I see:
nota
[1] " <p>La inclusión del seleccionado argentino en el viejo Tres Naciones significó, hace tres años, la confirmación de que el nivel del rugby argentino estaba a la altura de los grandes equipos del planeta, aunque se preveía que esa transición entre ser un equipo <em>del montón</em> a formar parte de la<em> elite </em>no iba a ser sencilla<em>. </em>Hoy, luego de dos años de competencia en el Rugby Championship, Los Pumas están cada vez más cerca de dar el batacazo y conseguir su primer triunfo en la historia del torneo.</p><p>
If I do:
iconv(nota,to="ASCII//TRANSLIT")
I get:
iconv(nota,to="ASCII//TRANSLIT")
[1] " <p>La inclusiA3n del seleccionado argentino en el viejo Tres Naciones significA3, hace tres aA?os, la confirmaciA3n de que el nivel del rugby argentino estaba a la altura de los grandes equipos del planeta, aunque se preveA-a que esa transiciA3n entre ser un equipo <em>del montA3n</em> a formar parte de la<em> elite </em>no iba a ser sencilla<em>. </em>Hoy, luego de dos aA?os de competencia en el Rugby Championship, Los Pumas estA!n cada vez mA!s cerca de dar el batacazo y conseguir su primer triunfo en la historia del torneo.
When I faced a similar problem, I used the function stri_trans_general from the stringi package. For example you can try: stri_trans_general(nota,"Latin-ASCII")
I use this function
rm_accent <- function(str,pattern="all") {
if(!is.character(str))
str <- as.character(str)
pattern <- unique(pattern)
if(any(pattern=="Ç"))
pattern[pattern=="Ç"] <- "ç"
symbols <- c(
acute = "áéíóúÁÉÍÓÚýÝ",
grave = "àèìòùÀÈÌÒÙ",
circunflex = "âêîôûÂÊÎÔÛ",
tilde = "ãõÃÕñÑ",
umlaut = "äëïöüÄËÏÖÜÿ",
cedil = "çÇ"
)
nudeSymbols <- c(
acute = "aeiouAEIOUyY",
grave = "aeiouAEIOU",
circunflex = "aeiouAEIOU",
tilde = "aoAOnN",
umlaut = "aeiouAEIOUy",
cedil = "cC"
)
accentTypes <- c("´","`","^","~","¨","ç")
if(any(c("all","al","a","todos","t","to","tod","todo")%in%pattern)) # opcao retirar todos
return(chartr(paste(symbols, collapse=""), paste(nudeSymbols, collapse=""), str))
for(i in which(accentTypes%in%pattern))
str <- chartr(symbols[i],nudeSymbols[i], str)
return(str)
}

Transform web text in Spanish to ASCII

I'm using R to do text mining. I have downloaded html files. I have issues trying to convert to text because the language is Spanish.
I used:
text<-readLines(i,encoding="UTF-8")
But still, I could have text like:
prueba= "hizo la diagonal desde la izquierda hacia el centro y
combinó con Ãngel Di María, quien despachó el centro desd e la
derecha con el revés de la zurda para que Sergio Agüero empujara en
la entrada del área chica."
Where combinó=combinó, área=área, etc. I need to keep only the original alphabetic characters.
I could have another text like the following:
prueba2="El club Atlas, de la Primera D, está en la
constante búsqueda de crecimiento. Y en esa
búsqueda, consiguió un aliado de lujo. El
presidente Maxi Ambrosio viajó al Vaticano y tras
entregarle una camiseta al Papa, le pidió al propio
Francisco que adopte a los de General Rodríguez como su
segundo equipo, después de San Lorenzo. La
reacción fue positiva"
where, for example, "después" means "después"
I tried:
iconv(prueba,to="ASCII//TRANSLIT")
But I get the same text.
How can I transform the text to ASCII?

Resources