我的knitr文档中的特殊字符有问题.普通文本工作正常,但图片上标题或轴名称中的抛光字母没有.

我尝试通过安装cairoDevice包来解决这个问题.但它仍然无效.实际上我不确定这个包是否正常工作,因为我还必须安装Rgtk2包,并且它也存在问题.除了cairoDevice之外还有其他任何方式来获取信件吗?如果不是如何让它正常工作?
这是我的knitr文件problem.Rnw:
\documentclass[12 pt, a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{polski}
\usepackage{geometry}
\geometry{total={210mm, 297mm}, left=17mm, right=17mm, top=17mm, bottom=17mm}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\usepackage{url}
\usepackage[colorlinks=true]{hyperref}
\hypersetup{linkcolor=blue}
<<include=F>>=
source("My path/plot.R")
@
<<include=F>>=
library(knitr)
library(RGtk2)
library(Cairo)
library(cairoDevice)
#ustawienia globalne
opts_chunk$set(fig.path='figure/', fig.align='center', fig.show='asis', fig.pos='ht!', dev='CairoPDF')
@
\begin{document}
<<MusicBad, echo=F, fig.width=5, fig.height=5, out.width='.5\\linewidth', fig.cap='B??dne zastosowanie wykresu liniowego.'>>=
plot.music.bad
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
在这里我的plot.R档案:
library(ggplot2)
#create data frame
music <- c("Blues", "Hip-hop", "Jazz", "Metal", "Rock")
number <- c(8, 7, 4, 6, 11)
df.music <- data.frame(music, number)
#create line graph …Run Code Online (Sandbox Code Playgroud) 我只想在堆叠条形图的顶部有标签。
这是我的数据框:
#create data frame
building <- c("Burj \nKhalifa", "Zifeng \nTower", "Bank of \nAmerica Tower",
"Burj Al Arab", "Emirates \nTower One", "New York \nTimes Tower",
"Emirates \nTower Two", "Rose Rayhaan \nby Rotana", "The \nPinnacle",
"Minsheng \nBank Building")
occupiable<- c(585, 317, 235, 198, 241, 220, 213, 237, 265, 237)
nonoccupiable <- c(244, 133, 131, 124, 113, 99, 97, 96, 95, 94)
df.build <- data.frame(building, occupiable, nonoccupiable)
#melt data frame for stack bar plot
df.build2 <- melt(df.build, id.vars="building")
Run Code Online (Sandbox Code Playgroud)
我的堆积条形图:
#comparision true and …Run Code Online (Sandbox Code Playgroud) 我尝试绘制这样的东西(但非常简化):

所以事情是,我设置height,width以及nob-炸弹的数量,我想提请表height*width细胞,在那里将nob炸弹ramdomly设置(可能是例如文本"炸弹",.这并不重要).此外,对于每个空单元格,我想计算邻域中的炸弹数量,并将该数字放在该单元格的中间(当零时 - 没有).但我真的不知道一些"算法".我画板尺寸合适,这就是我所能做的.任何想法,帮助?
w <- 7
h <- 5
nob <- 5
plot.new()
plot.window(xlim=c(0,w), ylim=c(0,h))
rect(0, 0, w, h)
for (i in 1:h-1){
lines(x=c(0,w), y=c(i,i))
}
for (j in 1:w-1){
lines(x=c(j,j), y=c(0, h))
}
sample(w*h, nob)
Run Code Online (Sandbox Code Playgroud) 将图像插入降价文件的方法是(并且在“ {r}” 之外)
<center><src="http://ia.media-imdb.com/images/M/MV5BMTg4NzEyNzQ5OF5BMl5BanBnXkFtZTYwNTY3NDg4._V1._CR24,0,293,443_SX214_AL_.jpg"></center>
Run Code Online (Sandbox Code Playgroud)
但是我想将url作为变量。所以我尝试了这样的事情:
```{r, result='asis'}
url <- "http://www.online-image-editor.com//styles/2014/images/example_image.png"
print(paste("<center><src=\"", url, "\"></center>", collapse=""))
```
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。我得到的结果
## [1] "<center><src=\" http://ia.media-imdb.com/images/M/MV5BMTg4NzEyNzQ5OF5BMl5BanBnXkFtZTYwNTY3NDg4._V1._CR24,0,293,443_SX214_AL_.jpg \"></center>"
Run Code Online (Sandbox Code Playgroud)
有没有机会使字符串像我的问题顶部一样,所以要删除## [1]和引用?
我有一些字符串
string <- "abbccc"
Run Code Online (Sandbox Code Playgroud)
我想把同一个字母的链子替换成一个字母和这封信的出现次数.所以我想要这样的东西:
"ab2c3"
我使用stringi包来做到这一点,但它并不像我想要的那样工作.假设我已经有部件的矢量用于替换:
vector <- c("b2", "c3")
stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector)
Run Code Online (Sandbox Code Playgroud)
输出:
[1] "ab2b2" "ac3c3"
Run Code Online (Sandbox Code Playgroud)
我想要的输出: [1] "ab2c3"
我也试过这种方式
stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector, vectorize_all=FALSE)
Run Code Online (Sandbox Code Playgroud)
但我得到错误
Error in stri_replace_all_regex(string, "([a-z])\\1{1,8}", vector, vectorize_all = FALSE) :
vector length not consistent with other arguments
Run Code Online (Sandbox Code Playgroud) 我有一些字符串
string <- "Shakira - Wolf - 02.Hips don't lie.mp3"
Run Code Online (Sandbox Code Playgroud)
我只想要第一部分,所以艺术家的名字.我像这样使用正则表达式
stri_extract_all_regex(string, "^.*?-")
Run Code Online (Sandbox Code Playgroud)
输出:"Shakira -".但我不想要" -".如何编写正则表达式,允许我只占用第一个之前的子串" -"?
我尝试从网站上提取一些信息
library(rvest)
library(XML)
url <- "http://wiadomosci.onet.pl/wybory-prezydenckie/xcnpc"
html <- html(url)
nodes <- html_nodes(html, ".listItemSolr")
nodes
Run Code Online (Sandbox Code Playgroud)
我得到30个HTML代码的"列表".我希望从"list"提取最后一个href属性的每个元素,所以对于30.元素它将是
<a href="http://wiadomosci.onet.pl/kraj/w-sobote-prezentacja-hasla-i-programu-wyborczego-komorowskiego/tvgcq" title="W sobot? prezentacja has?a i programu wyborczego Komorowskiego">
Run Code Online (Sandbox Code Playgroud)
所以我想得到字符串
"http://wiadomosci.onet.pl/kraj/w-sobote-prezentacja-hasla-i-programu-wyborczego-komorowskiego/tvgcq"
Run Code Online (Sandbox Code Playgroud)
问题是html_attr(nodes, "href")行不通(我得到NA的矢量).所以我想到了正则表达式,但问题nodes是不是字符列表.
class(nodes)
[1] "XMLNodeSet"
Run Code Online (Sandbox Code Playgroud)
我试过了
xmlToList(nodes)
Run Code Online (Sandbox Code Playgroud)
但它也不起作用.
所以我的问题是:如何使用为HTML创建的某个函数提取此URL?或者,如果不可能,我如何将XMLNodeSet转换为字符列表?
我有一些刺痛,"John a11|a12|\n Ana a21|a22|\n Jake a31|a23|\n "
我想通过"|"使用正则表达式提取所有分离的部分.
所以我想要输出
"John a11" "a12" "Ana a21" "a22" "Jake a31" "a23"
想法如何创建正确的正则表达式或者它只需要R中的一些功能?