这是我想从中获取数据的网络。
要解析的数据
url="http://www.treasury.gov/resource-center/data-chart-center/tic/Documents/mfh.txt"
download.file(url, destfile="/tmp/data")
我可以从网上以 txt 格式下载它,我怎样才能将数据作为数据框获取?
我认为这是一个非常有趣的问题,不幸的是可能会被关闭,因为 OP 没有表现出任何努力来解决它。问题是关于从文本文件中提取数值表。
grep
read.fwf
读取分隔数据toString
这是我的代码:
ll <- readLines('allo1.txt')
i1 <- grep('Country',ll)
i2 <- grep('Grand Total',ll)
dat <- read.fwf(textConnection(ll[c(seq(i1+3,i2,1))]),
widths = c(20,-1,rep(c(7,-1),13)))
dat.h <- read.fwf(textConnection(ll[c(i1-1,i1)]),
widths = c(20,-1,rep(c(7,-1),13)))
nn <- unlist(lapply(dat.h,function(x)gsub('\\s|[*]','',toString(rev(unlist(x))))))
names(dat) <- nn
Country, 2013,Apr 2013,Mar 2013,Feb 2013,Jan 2012,Dec 2012,Nov 2012,Oct 2012,Sep 2012,Aug 2012,Jul 2012,Jun 2012,May 2012,Apr
1 China, Mainland 1264.9 1270.3 1251.9 1214.2 1220.4 1183.1 1169.9 1153.6 1155.2 1160.0 1147.0 1164.0 1164.4
2 Japan 1100.3 1114.3 1105.5 1103.9 1111.2 1117.7 1131.9 1128.5 1120.9 1119.8 1108.4 1107.2 1087.9
3 Carib Bnkng Ctrs 4/ 273.1 283.9 280.3 271.8 266.2 263.5 273.5 261.1 263.9 247.6 244.6 243.2 237.3
4 Oil Exporters 3/ 272.7 265.1 256.8 261.6 262.0 259.1 262.2 267.2 269.1 268.4 270.2 260.6 262.2
5 Brazil 252.6 257.9 256.5 254.1 253.3 255.9 254.1 251.2 259.8 256.5 244.3 245.8 245.9