我从下面的url创建数据框架,
因为我有几个站点,所以我需要为每个站点运行这个脚本(例如,在附加示例站点1和41中),然后将它们重新绑定到一个站点
LS_Bellaboo_Token <- xxx
url_signature_orders_report <- "https://ran-reporting.rakutenmarketing.com/en/reports/signature-orders-report/filters?include_summary=Y&tz=GMT&date_type=transaction"
from <- Sys.Date()-39
to <- Sys.Date()-1
site <- 1
LinkShare_Report_1 <-
read.csv(text=rawToChar(
GET(url_signature_orders_report,
query=list(token=LS_Bellaboo_Token,
start_date=from,
end_date=to,
network=site))
[["content"]]),skip = 4, header = TRUE, sep =',')
if (length(LinkShare_Report_US$X..of.Items)>0 )
{LinkShare_Report_US["site"] <-"US"}
site <- 41
LinkShare_Report_41 <-
read.csv(text=rawToChar(
GET(url_signature_orders_report,
query=list(token=LS_Bellaboo_Token,
start_date=from,
end_date=to,
network=site))
[["content"]]),skip = 4, header = TRUE, sep =',')
if (length(LinkShare_Report_US$X..of.Items)>0 )
{LinkShare_Report_US["site"] <-"US"}我不想为每个站点复制它们,而是创建循环。
我正在尝试下面的脚本
site <-c(1,41)
for (i in site){
LinkShare_Report_[i] <-
read.csv(text=rawToChar(
GET(url_signature_orders_report,
query=list(token=LS_Bellaboo_Token,
start_date=from,
end_date=to,
network=site))
[["content"]]),skip = 4, header = TRUE, sep =',')
}但这对我没用,我是新来的R
发布于 2016-06-16 12:26:52
您需要首先创建对象LinkShare_Report_。
LinkShare_Report_ <- list()然后你就可以跑了
site <- c(1,41)
for (i in site){
LinkShare_Report_[i] <-
read.csv(text=rawToChar(
GET(url_signature_orders_report,
query=list(token=LS_Bellaboo_Token,
start_date=from,
end_date=to,
network=i))
[["content"]]),skip = 4, header = TRUE, sep =',')
}因为列表为介于1到41之间的任何东西创建空元素,所以使用赋值会更节省,从而为每个站点创建一个新的对象。
site <- c(1,41)
for (i in site){
assign(paste0('site',i),
read.csv(text=rawToChar(
GET(url_signature_orders_report,
query=list(token=LS_Bellaboo_Token,
start_date=from,
end_date=to,
network=i))
[["content"]]),skip = 4, header = TRUE, sep =',')
)
}https://stackoverflow.com/questions/37858928
复制相似问题