我是新来的编织者。我已经用一些非常简单的命令来练习.Rnw文件。例如:
\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\hypersetup{
colorlinks = true, %Colours links instead of ugly boxes
urlcolor = blue, %Colour for external hyperlinks
linkcolor = blue, %Colour of internal links
citecolor = blue %Colour of citations
}
\usepackage{caption}
\captionsetup[figure]{labelfont=bf, labelsep=period}
\captionsetup[table]{labelfont=bf, labelsep=period}
\setlength{\parindent}{0pt}
\title{My very first LaTeX/knitr document!}
\date{April 2019}
\begin{document}
\maketitle
\begingroup
\hypersetup{linkcolor=black} % force independent link colours in table of contents
\tableofcontents
\endgroup
\newpage
\section{Basics}
\subsection{Using no options}
First, let's try and a show a chunk of code along with a plot and print() message.
<<first-chunk>>=
# Make a simple dataframe:
setwd("/home/user/Documents/testing-area/knitr/")
df <- data.frame(A = c(1,2,3), B = c("A", "B", "C"))
plot(df$A,df$B)
print("hello")
@
当我单击“编译PDF”时,我得到一个包含所有代码的PDF(正如我所期望的那样,因为我没有使用echo = FALSE),以及图本身和打印语句。
我的问题是:为什么在Rstudio中只运行.R脚本时,为什么在“环境”面板中却没有像通常那样看到“ df”?显然,R在代码块中运行代码并生成PDF。那么为什么环境中什么也没有。如果我“手动”运行.Rnw文件中的R代码,则在环境中确实会获得“ df”。
我想念什么吗?我知道这并不重要,因为我的代码仍在技术上运行,但是我发现Rstudio在环境中不显示任何内容是有道理的。有这个原因吗?
谢谢。
答案 0 :(得分:2)
在RStudio中单击Compile PDF
来编织Rnw文件的通常方法是在独立的R进程中完成该操作。您的文档不会在工作空间中看到局部变量,并且在文档中创建的变量不会持续进行处理。
有多种方法可以更改此设置。如果您在R控制台中明确编织该过程,例如
knitr::knit2pdf("file.Rnw")
然后它将能够看到您本地工作空间中的变量,但是所做的更改不会被保存。要保存结果,请使用
knitr::knit2pdf("file.Rnw", envir = globalenv())
表示在全局环境(即您的工作空间)中评估代码。