gpt4 book ai didi

r - 如何在 R 中创建向量或表列表

转载 作者:行者123 更新时间:2023-12-04 23:58:10 25 4
gpt4 key购买 nike

我正在尝试从网站上抓取一堆表格。我希望能够将它们全部存储在一个或多个变量中 - 基本上是为了方便访问。
下面的代码是我到目前为止所拥有的,我正在使用 XML 包,我发现该包在单个表上运行良好,但无法使其适用于多个表。

i <- 1
N <- 3
DSFL1<- 'http://website/results/2012_aussies_thu/results/'
DSFL2 <- '.html'
SportHTML <- vector(length=N)
vectorOfTables <- vector(length=N)

for ( i in i:N) {
DSVL <- i
SportHTML[i] <- paste(DSFL1,DSVL,DSFL2, sep="")
Sport.table <- readHTMLTable(SportHTML[i], header=T, which=3,stringsAsFactors=F)
vectorOfTables[1] <- Sport.table
i <- i + 1
}

任何帮助,将不胜感激。

最佳答案

您的表是长度 > 1(并且可能长度不同)的对象,它们必须进入列表。所以你应该这样做:

vectorOfTables <- vector(mode = "list", length = N)

当您在循环内分配时,请执行以下操作:
vectorOfTables[[i]] <- Sport.table

但是,您可以避免 for循环并使用 lapply 创建一个列表:
SportHTML    <- paste0(DSFL1, 1:N, DSFL2)
ListOfTables <- lapply(SportHTML, readHTMLTable, header = TRUE,
which = 3, stringsAsFactors = FALSE)

正如你所看到的,它也更加简洁。

关于r - 如何在 R 中创建向量或表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14109993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com