下载PHP表并放入数据框或矩阵

时间:2014-04-18 01:38:45

标签: php r

我想使用R。

将此PHP表的内容放入数据框中

网址:http://ehshoes.robertjromano.com/view.php

library(XML)
u <- "http://ehshoes.robertjromano.com/view.php"
tables <- readHTMLTable(u)
tmp <- tables[[1]]      ##this gets rid of " $`NULL`" on first line

tmp现在是一个包含数据的列表。

如何将tmp的内容放入数据框?我真的只需要将第2列,第4列和第6列放入数据帧中。

仅供参考,这个数据将由我在Shiny R上运行的网络应用程序使用。每次加载网站时,都会从上面的URL获取数据集,并绘制数据。现在它从谷歌文档获取数据。这是连接到Google文档的应用:https://jeise.shinyapps.io/ehShoes/

提前致谢!!!

1 个答案:

答案 0 :(得分:1)

readHTMLTable返回一个数据框,因此您需要做的只是所需列的子集并转换为正确的数据类型:

library(XML)
u <- "http://ehshoes.robertjromano.com/view.php"
dat <- readHTMLTable(u, header=FALSE, stringsAsFactors=FALSE)[[1]][,c(2, 4, 6)]
names(dat) <- c("Latitude", "Longitude", "Time")
dat$Latitude <- as.numeric(dat$Latitude)
dat$Longitude <- as.numeric(dat$Longitude)
dat$Time <- strptime(dat$Time, "%Y-%m-%d %H:%M:%S")
str(dat)
# 'data.frame': 47 obs. of  3 variables:
#  $ Latitude : num  26 26 26 25.8 25.8 ...
#  $ Longitude: num  -80.3 -80.3 -80.3 -80.4 -80.4 ...
#  $ Time     : POSIXlt, format: "2014-04-12 20:35:21" "2014-04-12 20:34:58" "2014-04-12 20:34:35" ...

您会注意到我添加了header=FALSE,这可以确保您没有将第一行数据作为数据框的标题,以及stringsAsFactors=FALSE,这样可以操作正在阅读的字符文本更容易。