2014-09-27 102 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

相關問題