【发布时间】:2017-09-27 20:31:52
【问题描述】:
我想知道我该如何做这件事:
features_windows <- function(data, window_size) {
data_with_feature <- data %>%
mutate(window_one = nrow(data[data$ID<ID & data$key==key & data$ID > ID - window_size,]))
data_with_feature
}
基本上新特性应该是时间窗口ID-window_size : ID 有多少点有key。目前我到处都是 0,for 循环在 R 中是一个糟糕的想法。有什么想法吗?
问候, T
【问题讨论】:
-
在你的函数中添加
ID和key怎么样?即features_windows <- function(data, ID, key, window_size) { ... -
我正在使用 dplyr 的 mutate 函数,它获取计算新值的行的 ID 和键。
-
你得到了零,因为
nrow( some-number )永远是零。 nrow 用于数据帧;你那里没有数据框。 -
您还应该检查
window_one的逻辑。 data$ID 不能同时小于 ID 和大于 ID。所以这也将始终返回零。如果您打算评估data$ID > ID - window_size,请添加一些分隔符。data$ID < ID & data$ID > (ID - window_size) & ... -
刚刚检查了 nrow(data[data$lineID
标签: r dplyr time-series feature-engineering