我想使用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/
提前致谢!!!
答案 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
,这样可以操作正在阅读的字符文本更容易。