导入dat文件为R(import dat file into R)

2019-06-17 13:35发布

道歉提前为这个问题的简单性。 我试图从一个网站与下面的编码R导入.dat文件:

www = "http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat"
data <- read.delim(www, header = TRUE, sep="\t") 

我要访问的data.frame的值部分,但是,我不确定的data.frame的尺寸,如果I型NcoI位(数据)则返回1,其我期待3。 如何访问这个data.frame“第三”列?

Answer 1:

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是帮助我们找出我们将导入列的实际名称是有用的。

但我看不出任何优势,这样做在读在整个数据集和后提取。



文章来源: import dat file into R
标签: r import