小编Med*_*ist的帖子

dplyr滞后,列值为n

是否可以在dplyr :: lag函数中将列值用作n

可重复的例子:

DF <- data.frame(
    V = runif(1000, min=-100, max=100), 
    nlag = as.integer(runif(1000, min=1, max=10))
) %>% 
mutate(Vlag = lag(V, n = nlag))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

错误:评估错误:n必须是非负整数标量,而不是长度为1000的整数.

还有其他选择吗?

更新:

我们如何在组内解决同样的问题?

可重复的例子:

DF <- data.frame(
    V = runif(1000, min=-100, max=100),
    nlag = as.integer(runif(1000, min=1, max=10)),
    type = sample(1:4, replace=TRUE)
) %>%
group_by(type) %>% 
mutate(Vlag = lag(V, n = nlag))
Run Code Online (Sandbox Code Playgroud)

r dplyr

4
推荐指数
1
解决办法
483
查看次数

子模板中的C ++模板专业化

json.h中,我有:

template <class T>
Json::Value write_json(const T& object);
Run Code Online (Sandbox Code Playgroud)

json.cpp中

template <>
Json::Value write_json(const bool& object) {
    Json::Value output;
    output = object;
    return output;
};

template <>
Json::Value write_json(const int& object) {
    Json::Value output;
    output = object;
    return output;
};

template <>
Json::Value write_json(const std::vector<bool>& v) {
    Json::Value output;
    for (auto it = v.begin(); it != v.end(); ++it) { output.append(*it); };
    return output;
};

template <>
Json::Value write_json(const std::vector<int>& v) {
    Json::Value output;
    for (auto it = …
Run Code Online (Sandbox Code Playgroud)

c++ templates c++11

4
推荐指数
1
解决办法
81
查看次数

AWS CLI无法使用cron

我有这个脚本:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
SHELL=/bin/bash

# Create EBS Data snapshot
/usr/local/bin/aws ec2 create-snapshot --volume-id "vol-XXXXX" --description "test"
Run Code Online (Sandbox Code Playgroud)

如果我从shell运行它,它可以很好地工作,但对Cron没有任何作用.为什么?我正在使用IAM角色,这很重要吗?

cron amazon-web-services aws-cli

3
推荐指数
2
解决办法
5757
查看次数

R:预测组的新值

我为数据框中的每个组计算了不同的回归:

DF.L <- DF %>%
group_by(Channel) %>%
do(Fit = rlm(L ~ -1 + Y + I(Y^2), data = .))
Run Code Online (Sandbox Code Playgroud)

我想将这套回归应用于另一个数据框。为此,我正在测试如何将其应用于相同的数据框:

DF %>%
group_by(Channel) %>%
do({
    Lfit <- predict(subset(DF.L, Channel == unique(.$Channel))$Fit, .)
    data.frame(., Lfit)
})
glimpse(DF)
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误:

Error in UseMethod("predict") : 
  no applicable method for 'predict' applied to an object of class "list"
Calls: %>% ... do_.grouped_df -> eval -> eval -> predict -> predict
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

r predict tidyverse

3
推荐指数
1
解决办法
1764
查看次数

整理数据帧到R中的矩阵

这是我数据框的一瞥():

    $ Row     (int) 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 1, 1, 1,...
    $ Col     (int) 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4,...
    $ Value    (dbl) 62049.67, 62040.96, 62053.02, 62039.31, 61993.53, 62035.00,...
Run Code Online (Sandbox Code Playgroud)

如何将其转换为矩阵?

r matrix dplyr tidyr

2
推荐指数
1
解决办法
1005
查看次数

在 Python 中读取 tiff 标签

我正在尝试在 Python 中读取 tiff 文件的标签。该文件是 RGB,每个通道具有uint16值。我目前正在使用tifffile

import tifffile

img = tifffile.imread('file.tif')
Run Code Online (Sandbox Code Playgroud)

然而,img是一个 numpy 数组,它只有像素值。例如,我如何读取图像的x_resolution

python tiff scikit-image

2
推荐指数
1
解决办法
4348
查看次数

具有运算符的std :: array的C ++ 11类型别名

我有一个c ++ 11类型别名

using coord = std::array<double, 3>;
Run Code Online (Sandbox Code Playgroud)

我可以为坐标定义运算符+吗?怎么样?我希望能够做到:

coord a, b, c;
a = {1.1, 2.0, 0};
b = {0, -1, 3.5};
c = a + b; // c = {1.1, 1.0, 3.5}
Run Code Online (Sandbox Code Playgroud)

c++ typedef c++11

2
推荐指数
1
解决办法
93
查看次数

Vanilla JS Web 组件包括 &lt;head&gt; 和 &lt;body&gt;

是否可以将headbody作为 Web 组件的元素包含在内?

我尝试了下面的示例,但web-html放置在body内,而head为空:

索引.html

<!doctype html>
<html>
    <web-html></web-html>
    <script type="module" src="html.js"></script>
</html>
Run Code Online (Sandbox Code Playgroud)

html.js

customElements.define('web-html', class extends HTMLElement {
    constructor() {
        super();
        const template = document.createElement('template');
        template.innerHTML = `
            <head>
                <meta charset="utf-8" />
                <title> Index </title>
            </head>
            <body>
                <slot> ... </slot>
            </body>
        `;
        const shadowRoot = this.attachShadow({mode:'open'});
        shadowRoot.appendChild(template.content.cloneNode(true));
    };
});
Run Code Online (Sandbox Code Playgroud)

javascript web-component

2
推荐指数
1
解决办法
926
查看次数

使用模板在C ++中进行类型转换

C ++中,有没有办法使用(例如)模板来简化下面的表达式?

std::stringstream data;
if (data_type == types::UINT8) {
    uint8_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type == types::UINT16) {
    uint16_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type == types::UINT32) {
    uint32_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type == types::UINT64) {
    uint64_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type == types::INT8) {
    int8_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type == types::INT16) {
    int16_t val;
    data.read(reinterpret_cast<char*>(&val), sizeof(val));
    U.push_back(val);
} else if (data_type …
Run Code Online (Sandbox Code Playgroud)

c++ templates casting c++11

0
推荐指数
1
解决办法
53
查看次数