背景
我有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个数据帧中的每一个
问题
如果我能够这样做,那么我可以对值应用反对数函数并获取实际值。
通过这种方式,我可以用最少的人为干预给出正确的预测。
我希望我能明确指出这个问题。
谢谢。
答案 0 :(得分:0)
只需检查数据框中的任何值是否过高:
has_too_high_values = function (df)
any(df$Value > 50000)
然后收集它们,例如使用Filter
:
Filter(has_too_high_values, train_data)