我正在寫一個函數向R中的客戶端發送電子郵件。我正在使用mailR包來這樣做,但我的服務提供者只允許我發送每小時發送100封電子郵件。我想要做的是,如果假設我的電子郵件列表中包含270個電子郵件地址,我想將其分發到chunk1=100 , chunk2 = 100 & chunk3 = 70
然後,它應該發送電子郵件到第一個塊,然後等待一個小時,然後塊chunk2等等。 這是我的功能模樣。如何將數據幀拆分爲特定行數的if循環中的R
email <- function(dataframe,city,date){
dataframe$registrant_email <- tolower(dataframe$registrant_email)
dataframe_city <- dataframe[dataframe$registrant_city == city & dataframe$create_date == date, ]
# Removing NA's and blank email ids
dataframe_city <- dataframe_city[!(is.na(dataframe_city$registrant_email)|dataframe_city$registrant_email==""), ]
# Removing duplicate email ids
dataframe_city <-dataframe_city[!duplicated(dataframe_city$registrant_email),]
emails <- as.vector(dataframe_city$registrant_email)
if(length(emails) > 100){
# divide the vector into chunks of 100
} else{send_email(emails}
return(emails)
}
我需要if loop
幫助我怎麼能寫拆分部分插入的100塊,然後調用一個函數send_email
等待了一個小時等。
要在列表中拆分向量成塊,你可以使用像'X < - 1:270; chunks < - split(x,(seq_along(x)-1)%/%100)' –
使用'%/%'是美麗的,您應該將其添加爲答案。 –
你能解釋一下我的一行嗎?輸出似乎是相同的。它是否解釋了一些特殊情況? – LAP