2013-12-09 69 views
2

我有一個字符向量中的url列表,我想暫停 查詢之間的過程,因爲如果不是x個查詢被拒絕。將多個函數轉換爲lapply

urls=c('url1','url2','url3') 

這裏是想我想要做的

htmlpages=lapply(urls,function(x) readLines(x) Sys.sleep(0.3)) 
+1

使用'''''htmlpages = lapply(urls,function(x){y < - readLines(x); Sys.sleep(0.3),y})'。但爲了清晰起見,在多行函數中寫出更好。 – Justin

+0

感謝您的幫助,如果我瞭解過程;它會暫時將數據存儲在y中,然後暫停,然後將y返回到列表中,然後處理下一個url?您能解釋語法分號然後逗號嗎? – user3083330

+0

逗號是一個錯誤,應該是分號。看看裏奇寫了些什麼。單線是一個危險的計劃。 – Justin

回答

5

賈斯汀認爲,格式是關鍵。

htmlpages = lapply(
    urls, 
    function(x) 
    { 
    y <- readLines(x) 
    Sys.sleep(0.3) 
    y 
    } 
) 
+0

謝謝,你如何在單行上寫這個函數? – user3083330

+2

您可以使用分號';'分隔多個命令,但通常情況下,爲了清晰起見編寫代碼會更好。格式不正確的代碼是bug的溫牀。 –