dat文件在实际数据之前有一些额外的信息。与skip
参数跳过它们:
read.table("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
header=TRUE, skip=3)
一个简单的方法来检查这一点,如果你不熟悉这些数据不首先使用readLines
检查了几行,如下图所示:
readLines("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
n=10)
# [1] "Ozone data from CZ03 2009" "Local time: GMT + 0"
# [3] "" "Date Hour Value"
# [5] "01.01.2009 00:00 34.3" "01.01.2009 01:00 31.9"
# [7] "01.01.2009 02:00 29.9" "01.01.2009 03:00 28.5"
# [9] "01.01.2009 04:00 32.9" "01.01.2009 05:00 20.5"
这里,我们可以看到实际数据从[4]
开始,所以我们知道跳过前三行。
更新
如果你真的只希望Value
列,你可以做到这一点:
as.vector(
read.table("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
header=TRUE, skip=3)$Value)
再次,readLines
是帮助我们找出的实际名称有用我们将导入的列。
但我没有看到很多这样做的优势在于在整个数据集中读取和稍后提取。
+1 for [reproducible example](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – Andrie 2012-07-26 07:16:12