为什么以下不将文件复制到目标文件夹?
# find /home/shantanu/processed/ -name '*2011*.xml' -exec cp /home/shantanu/tosend {} \;
cp: omitting directory `/home/shantanu/tosend'
cp: omitting directory `/home/shantanu/tosend'
cp: omitting directory `/home/shantanu/tosend'
Run Code Online (Sandbox Code Playgroud) 我有一个项目文件夹,这是我的工作目录.我们称之为项目.根据该项目的文件夹中有4个子目录: code,data,figures,和documents.
我想把我的.Rmd文件放在code子目录中.我希望这些数字进入figures子目录.我想.html,.md和.docx文件(S),以进入documents子目录.我想从data子目录中读取我的数据.这种组织结构是否可行?我似乎无法让它发挥作用.
我从这开始设置工作目录,project因为我知道knitr查找带有该.Rmd文件的文件夹,并将其视为工作目录(如果未指定).
```{r setglobal, cache = FALSE, include = TRUE}
library(knitr)
opts_knit$set(root.dir = "..")
```
Run Code Online (Sandbox Code Playgroud)
然后我尝试设置相对于工作目录的图形路径.
```{r setchunk, cache=FALSE, include=TRUE}
opts_chunk$set(fig.path = "./figures/")
getwd()
```
Run Code Online (Sandbox Code Playgroud)
工作目录正确报告为project.从data子目录中正确读取数据.正确呈现所有输出并运行所有代码.
```{r readdata}
crctx <- readRDS("./data/crctx.rds")
getwd()
*run lots of analyses here*
```
Run Code Online (Sandbox Code Playgroud)
但这些数字最终会出现在project/code/figures目录中而不是project/figures. …
什么?
一个.Rmd文件是无差错的通过渲染knitr(或rmarkdown在Linux中).相关材料(即子R脚本和CSV输入数据)全部以UTF-8设置.
从Windows中执行相同的脚本(实际上脚本位于克隆的git存储库中)不会干净地呈现所有字符,因为它设置为Windows-1252.
例子
例如,将"sans réserves"来自CSV 的字符串输入到某些data.frame的列内容中,将其排版为"sans réserves".要正确阅读本文,只需在读入数据时添加encoding='UTF-8'即可read.csv.
另一个涉及其他R代码行之间的条目的示例是字符串"Trésorier Général".它被排版为"Trésorier Général".幸运的是,以下建议
read_chunk(lines = readLines("TestSpanishText.R", encoding = "UTF-8"))
Run Code Online (Sandbox Code Playgroud)
取自/sf/answers/1100023221/,工作,字符串按预期呈现.
有关
[ 更新 ]有一些相关的问答,但它们已超过2 - 3年.同样,这个页面https://support.rstudio.com/hc/en-us/articles/200532197-Character-Encoding,指出了这个问题.
问题
是否还有另一种更简单的方法来解决这个问题UTF-8和Windows内部问题R?关于如何解决这个问题的建议?我试图遵循所有原则的一个来源.
ps-一个有趣的阅读:https://superuser.com/a/221602/128768
我一直在使用knitr,R markdown和pandoc为我将在秋季教授的课程创建投影演示/讲座.我编写了一个简短的R脚本来自动化该过程(类似于`make'文件),其中包括:
.Rmd文件;.tex文件;.tex文件;一切似乎都很好,有一个例外(迄今为止).只有当我直接调用编织功能时,我才有一个似乎"编织好"的讲座.当我尝试使用我的make函数编织.Rmd文件时,某些R对象无法识别.我在下面列举了一个简短的例子来说明问题:
我创建了一个名为"test.Rmd"的文件,其中包含一个代码块(如下所示):
## Simulation
```{r test, comment=NA, message=FALSE, warning=FALSE}
library(mosaic)
obs<-c(25, 22, 30, 40) # Number of observations in each category
Ais<-c(0.34, 0.101, 0.104, 0.455) # Total Accreage (NUll proportions)
e.count<-Ais*117 # Expected Counts
test.stat<-sum((obs-e.count)^2/(e.count)) #Test statistic = 43.6
rand.dist<-do(1000)*{
# Randomization Distribution
new.dat<-sample(1:4, replace=TRUE, size=117, prob=Ais) # Sample with Prob = Null pi's
new.obs<-tally(~new.dat) # Simulated counts
chi.sq<-sum((new.obs-e.count)^2/e.count) # Simulated test statistic
} …Run Code Online (Sandbox Code Playgroud)