用于识别先前完成的更改的功能

时间:2016-08-06 11:50:38

标签: r list functional-programming

背景

我有16个数据框的列表。其中的数据框看起来像这样。所有其他数据帧具有相似的格式。 DateTime列属于Date class,而Value列属于time series

> head(train_data[[1]])

    DateTime Value
739 2009-07-31  49.9
740 2009-08-31  53.5
741 2009-09-30  54.4
742 2009-10-31  56.0
743 2009-11-30  54.4
744 2009-12-31  55.3

我正在对Value中所有data.frames的{​​{1}}列进行预测。以下代码行将数据提供给UCM模型。

list

转换函数用于减少大值,因为UCM有一些问题四舍五入大值(我不知道为什么)。我刚从用户@KRC了解到这个link

一个数据框受到影响,因为它有大的值转换为日志值。所有其他数据帧仍然不受影响。

train_dataucm <- lapply(train_data, transform, Value = ifelse(Value > 50000 , Value/100000 , Value )) 

我知道这一点,因为我手动检查了15个数据帧中的每一个

问题

  1. 是否有任何函数可以调出得到的数据帧 因我插入的情况而受影响?
  2. 该函数必须能够列出受影响的数据框,并且应该能够将它们放入列表中。
  3. 如果我能够这样做,那么我可以对值应用反对数函数并获取实际值。

    通过这种方式,我可以用最少的人为干预给出正确的预测。

    我希望我能明确指出这个问题。

    谢谢。

1 个答案:

答案 0 :(得分:0)

只需检查数据框中的任何值是否过高:

has_too_high_values = function (df)
    any(df$Value > 50000)

然后收集它们,例如使用Filter

Filter(has_too_high_values, train_data)