我正在尝试将以下网址下载到 R 数据框中:
http://www.fantasypros.com/nfl/rankings/qb.php/?export=xls
(这是公共页面上的“导出”链接:http://www.fantasypros.com/nfl/rankings/qb.php/)
但是,我不确定如何“解析”数据?我还希望将其自动化并每周执行一次,因此任何有关如何将其构建为每周访问工作流程的想法将不胜感激!已经在 google 搜索和 stackoverflow 上搜索了几个小时了,但没有结果......:-)
谢谢你,
Justin
尝试的代码:
getURL("http://www.fantasypros.com/nfl/rankings/qb.php?export=xls")
这只是给了我一个开头如下的字符串:
[1] "FantasyPros.com \t \nWeek 8 - QB Rankings \t \nExpert Consensus Rankings (ECR) \t \n\n Rank \t Player Name \tTeam \t Matchup \tBest Rank \t Worst Rank \t Ave Rank \t Std Dev \t\n1\tPeyton Manning\tDEN\t vs. WAS\t1\t5\t1.2105263157895\t0.58877509625419\t\t\n2\tDrew Brees\tNO\t vs. BUF\t1\t7\t2.6287878787879\t1.0899353819483\t\t\n3\tA...
欢迎来到R
。听起来您喜欢在 Excel 中进行分析。这完全没问题,但事实上,您要求从网络上抓取数据并询问 R,我认为可以安全地假设您将开始找到对分析进行编程的方法。
也就是说,您真正想做的是抓取网络。有大量关于如何使用 R 执行此操作的示例,就在 SO 上。查找诸如“网页抓取”、“爬行”和“屏幕抓取”之类的内容。
好吧,抛开对话不谈。不用担心抓取 XL 格式的数据。您可以直接使用 R 解析数据。大多数网站都使用一致的命名约定,因此使用for
循环并为数据集构建 URL 将会很容易。
下面是直接使用 R 将页面解析为data.frame
其作用与 EXCEL 中的表格数据非常相似。
## load the packages you will need
# install.packages("XML")
library(XML)
## Define the URL -- you could dynamically build this
URL = "http://www.fantasypros.com/nfl/rankings/qb.php"
## Read the tables form the page into R
tables = readHTMLTable(URL)
## how many do we have
length(tables)
## look at the first one
tables[1]
## thats not it
## lets look at the 2nd table
tables[2]
## bring it into a dataframe
df = as.data.frame(tables[2])
如果您正在使用R
第一次,您可以使用以下命令轻松安装外部软件包install.packages("PackageNameHere")
。但是,如果您认真学习 R,我会考虑使用 RStudio IDE。它确实在很多层面上使我的学习曲线变得平坦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)