【发布时间】:2011-09-25 14:15:51
【问题描述】:
尊敬的 R 用户社区,
我在一个列表中有很多data.frame,如下(为方便起见,21个列表中只有一个data.frame):
> str(datal)
List of 21
$ BallitoRaw.DAT :'data.frame': 1083 obs. of 3 variables:
..$ Filename: Factor w/ 21 levels "BallitoRaw.DAT",..: 1 1 1 1 1 1 1 1 1 1 ...
..$ date :Class 'Date' num [1:1083] 7318 7319 7320 7321 7322 ...
..$ temp : num [1:1083] NA 25.8 NA NA NA NA NA NA NA 24.4 ...
如果我单独处理列表中的每个 data.frame,我可以从 temp 和 date 创建一个 zoo 对象,如下所示:
> BallitoRaw.zoo <- zoo(datal$BallitoRaw.DAT$temp, datal$BallitoRaw.DAT$date)
动物园对象如下所示:
> head(BallitoRaw.zoo)
1990-01-14 1990-01-15 1990-01-16 1990-01-17 1990-01-18 1990-01-19
NA 25.8 NA NA NA NA
如何使用 llply 或 apply(或类似方法)同时处理整个列表?
输出需要进入一个新的 data.frames 列表,或一系列独立的 data.frames(每个都按照上面动物园示例中的名称命名)。请注意,日期列虽然是常规时间序列(天),但包含缺失的日期(除了现有日期临时的 NA);缺失的日期将由 zoo 函数填充。因此,带有 zoo 对象的输出 data.frame 将比原来的要长。
帮助,不胜感激。
【问题讨论】: