创建添加顺序

时间:2019-05-07 12:14:18

标签: r sequence repeat

我想按照一系列行号提取数据框的特定行。

序列应为:

7, 14, 21, 31, 38, 45, 55, 62, 69.....until 8760. 

因此,它始终从第7行开始,然后行至+7 +7 +10,应重复此操作直到结束。

我知道 rep seq ,但是我不知道在+7之后如何处理+10。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

尝试

const https = require('https');
const querystring = require('querystring');

module.exports = async function (context, req) {

    if (req.query.accessCode || (req.body && req.body.accessCode)) {
        context.log('JavaScript HTTP trigger function processed a request.');
        var options = {
            host: 'httpbin.org',
            port: 80,
            path: '/post',
            method: 'POST'
        };

        var postData = querystring.stringify({
            client_id : '1234',
            client_secret: 'xyz',
            code: req.query.accessCode
        });

        var body = "";
        var myReq = https.request(options, function(res) {
            context.log('STATUS: ' + res.statusCode);
            context.log('HEADERS: ' + JSON.stringify(res.headers));
            body += res.statusCode
            res.on('data', function (chunk) {
                context.log('BODY: ' + chunk);
            });
        });

        myReq.on('error', function(e) {
            context.log('problem with request: ' + e.message);
        });

        myReq.write(postData);
        myReq.end();
        context.log("help");
        context.res = {
            status: 200,
            body: "Hello " + (body)
        };
    } else {
       context.res = {
            status: 400,
           body: "Please pass a name on the query string or in the request body"
      };
    }
};

结果

x <- rep(c(7, 10), c(2, 1))
out <- cumsum(c(7, rep(x, ceiling(8760 / sum(x)))))

如果您希望head(out, 10) # [1] 7 14 21 31 38 45 55 62 69 79 tail(out) # [1] 8726 8733 8743 8750 8757 8767 out结尾,则可以这样做

8760

答案 1 :(得分:2)

我们可以使用rep

x1 <- rep(c(7, 10), c(2, 1))
out <- cumsum(c(7, rep(x1, 8760 %/% sum(x1)))))
out1 <- out[out < 8760]
head(out1, 10)
#[1]  7 14 21 31 38 45 55 62 69 79
tail(out1, 10)
#[1] 8685 8695 8702 8709 8719 8726 8733 8743 8750 8757