【发布时间】:2013-12-06 07:43:30
【问题描述】:
当我将在 excel 中创建的 csv 文件导入 R 时遇到问题。包含缺失数据但带有时间戳的行以一行 NA 表示。
我正在使用 R 处理包含传感器收集的流温度和深度测量值的大型数据集。我们以 15 分钟的间隔收集了大约三年的此类数据。数据集中有一些小漏洞,出于其他原因,我需要将其表示为缺失数据的时间戳和 NA。这些漏洞在 R 中给我带来了问题。
我已将 Excel 中的所有数据整理到一个包含 4 列的大文件中:日期、时间、深度和温度。然后,我为所有缺失的采样周期创建了一个时间戳并放置了 NA:
date, time, temp, depth
10/10/10, 0:00:00, 20, 3
10/10/10, 0:15:00, 20, 3
10/10/10, 0:30:00, NA, NA
我将 excel 中的文件保存为 csv。然后,我使用 read.csv() 将文件导入 R。 str 中的一切看起来都很好,当我打印数据框时;但是,在某些情况下,对于缺少临时或深度数据的行,R 会返回一整行 NA:
> str(blah)
'data.frame': 384 obs. of 4 variables:
$ date : Factor w/ 4 levels "10/10/10","10/11/10",..: 4 4 4 4 4 4 4 4 4 4 ...
$ time : Factor w/ 96 levels "0:00:00","0:15:00",..: 1 2 3 4 5 6 7 8 49 50 ...
$ tempC : int 15 15 15 15 15 15 15 15 15 15 ...
$ depthm: int 3 3 3 3 3 3 3 3 3 3 ...
> blah[blah$tempC == "NA",]
date time tempC depthm
NA <NA> <NA> NA NA
NA.1 <NA> <NA> NA NA
这可以通过在 excel 中创建一个包含生成的时间和日期序列的测试文件来轻松重新创建,其中一些包含伪造的温度和深度数据,一些行包含 NA。有谁知道这里发生了什么?谢谢。
【问题讨论】: