从 url 读取数据,恐惧警告
Reading data from url, fread warning
我正在从 URL 读取数据,该页面包含一些关于该页面数据的附加行。我尝试 read.table 和 read.csv 读取 URL 并将数据作为列表获取。于是尝试用fread读取数据,在table中完美的拿到了数据。我收到警告,我意识到这是由于该站点上的额外行造成的。有没有办法避免这个警告。
c < fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',header = FALSE)
我收到的警告如下所示。
In fread("https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data", :
Stopped early on line 154. Expected 13 fields but found 1. Consider fill=TRUE and
comment.char=. First discarded non-empty line: <<-9999>>
我了解添加 fill = TRUE,我可以删除警告。然后读取整个页面。那么如何过滤掉最后一部分呢?
使用fill = TRUE
dat <- fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',header = FALSE, fill = TRUE)
然后,获取具有
的行的子集
dat1 <- dat[1:154]
-输出
> head(dat1)
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
1: 1870 2021 NA NA NA NA NA
2: 1870 -0.373 -0.256 0.277 0.027 -0.400 -0.434 -0.554 -0.409 -0.622 -0.476 -0.278 -0.306
3: 1871 -0.208 -0.090 -0.112 -0.073 -0.035 -0.049 -0.347 -0.263 -0.230 -0.368 -0.094 -0.159
4: 1872 0.028 0.121 0.024 -0.009 -0.069 0.030 -0.189 -0.213 -0.227 -0.111 0.017 -0.041
5: 1873 0.127 -0.239 -0.304 -0.196 -0.331 -0.473 -0.593 -0.688 -0.588 -0.319 -0.229 -0.233
6: 1874 -0.316 -0.308 -0.486 -0.678 -0.361 -0.351 -0.242 -0.232 -0.708 -0.999 -0.480 -0.720
> dim(dat1)
[1] 154 13
我找到了问题的答案。我只需要 complete.cases
函数来删除带有空单元格的行。
dat < fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',
header = FALSE,fill = TRUE)
m = dat[complete.cases(dat),]
我正在从 URL 读取数据,该页面包含一些关于该页面数据的附加行。我尝试 read.table 和 read.csv 读取 URL 并将数据作为列表获取。于是尝试用fread读取数据,在table中完美的拿到了数据。我收到警告,我意识到这是由于该站点上的额外行造成的。有没有办法避免这个警告。
c < fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',header = FALSE)
我收到的警告如下所示。
In fread("https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data", :
Stopped early on line 154. Expected 13 fields but found 1. Consider fill=TRUE and
comment.char=. First discarded non-empty line: <<-9999>>
我了解添加 fill = TRUE,我可以删除警告。然后读取整个页面。那么如何过滤掉最后一部分呢?
使用fill = TRUE
dat <- fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',header = FALSE, fill = TRUE)
然后,获取具有
的行的子集dat1 <- dat[1:154]
-输出
> head(dat1)
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
1: 1870 2021 NA NA NA NA NA
2: 1870 -0.373 -0.256 0.277 0.027 -0.400 -0.434 -0.554 -0.409 -0.622 -0.476 -0.278 -0.306
3: 1871 -0.208 -0.090 -0.112 -0.073 -0.035 -0.049 -0.347 -0.263 -0.230 -0.368 -0.094 -0.159
4: 1872 0.028 0.121 0.024 -0.009 -0.069 0.030 -0.189 -0.213 -0.227 -0.111 0.017 -0.041
5: 1873 0.127 -0.239 -0.304 -0.196 -0.331 -0.473 -0.593 -0.688 -0.588 -0.319 -0.229 -0.233
6: 1874 -0.316 -0.308 -0.486 -0.678 -0.361 -0.351 -0.242 -0.232 -0.708 -0.999 -0.480 -0.720
> dim(dat1)
[1] 154 13
我找到了问题的答案。我只需要 complete.cases
函数来删除带有空单元格的行。
dat < fread('https://psl.noaa.gov/gcos_wgsp/Timeseries/Data/dmi.had.long.data',
header = FALSE,fill = TRUE)
m = dat[complete.cases(dat),]