2014-09-27 128 views
0

也许我在这里做了一些非常愚蠢的事情,但我确实无法发现我的错误。这里是Makefile中:正在运行Makefile,但最后一个文件被跳过 - R

R_OPTS=--no-save --no-restore --no-init-file --no-site-file 

data/clean_data.RData: R/0_clean.R data/raw_data.dta 
    cd R;Rscript 0_clean.R $(R_OPTS) 

fig/ttest_result.pdf: R/1_1_ttest_result.R data/clean_data.RData 
    cd R;Rscript 1_1_ttest_result.R $(R_OPTS) 

由于只有raw_data.dta,如果我跑make,创建clean_data.RDatattest_result.pdf不是。但是,当我明确运行make fig/ttest_result.pdf时,会创建该文件。我为什么迷失了?

额外的信息:1_1_ttest_result.R使用ggsave()

回答

1

默认创建ttest_result.pdf与GGPLOT2当你运行一个make文件,没有目标就是建立的第一个目标。在这种情况下,这只是“data/clean_data.RDat”,因此这是唯一将被创建的文件。这就是为什么你经常看到类似文件的原因

R_OPTS=--no-save --no-restore --no-init-file --no-site-file 

all: data/clean_data.RData fig/ttest_result.pdf 

data/clean_data.RData: R/0_clean.R data/raw_data.dta 
    cd R;Rscript 0_clean.R $(R_OPTS) 

fig/ttest_result.pdf: R/1_1_ttest_result.R data/clean_data.RData 
    cd R;Rscript 1_1_ttest_result.R $(R_OPTS) 

所以第一个目标列出了默认情况下你想建立的所有东西。

+0

我知道它一定是直接的东西:(谢谢! – Heisenberg 2014-09-27 01:24:21

相关问题