将每个数据框行转换为httr body参数列表而不枚举

时间:2016-06-16 21:12:33

标签: r

所以,我有一个数据框,它包含两个表单字段的一堆值。我想按行进行每行POST请求:

df <- data.frame(x = 1:5, y = 1:5)
apply(df, 1, function(x) {
       POST(someURL, accept_json(),
            add_headers('Content-Type' = 'application/json'),
            body = list('x' = x[1], 'y' = x[2]), encode = 'json'))
       })

这很好用。但是,有没有办法以编程方式生成list('x' = x[1], 'y' = x[2])而不枚举每个值,因为数据框中列的名称基本上就是列表。

1 个答案:

答案 0 :(得分:1)

您可以迭代索引,并使用as.list()

df <- data.frame(x = 1:5, y = 1:5)
lapply(seq_along(df[,1]), function(x) {
       POST(someURL, accept_json(),
            add_headers('Content-Type' = 'application/json'),
            body = as.list(df[x,]), encode = 'json')
})