gpt4 book ai didi

r - 如何使用表格列表

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

使用 XML 包,我能够从网站上抓取 80 多个表,而且这个数字也会随着时间的推移而增长。它们本身的表不是很大,主要是 6x10(这个大小在表之间也随着时间的推移而变化)。值得庆幸的事实是,99% 的情况下,表将具有相同的列,即列名。例如:

 table[1]
A B C D E F
1 b b 2 2 b
2 b b 2 2 b


table[2]
A B C D E F
1 c c 2 2 c
2 c c 2 2 c

我将如何将所有表格及其观察结果组合成单独的变量(每列=变量),同时确保每个变量中的观察结果保持与原始表格的链接(例如,通过附加变量)。

由于不同的表格指的是比赛中不同轮次的结果,因此我希望实现的最终结果是能够跟踪个人在比赛中的进步,并就此而言在任何一年的不同比赛中(我希望刮了很多 table )。

任何好的 R 任何人都可以传递的代码会很棒,而使用和/或分析大量信息的最佳实践想法将是无价的。

最佳答案

在发布之前我没有看到@flodel 解决方案,但使用基本包的想法是一样的。

dat1 <- read.table(text = '
A B C D E F
1 b b 2 2 b
2 b b 2 2 b',header=T)

dat2 <- read.table(text ='
A B C D E F
1 c c 2 2 c
2 c c 2 2 c',header=T)

想法是将所有 data.frames 放在一个 list 中,然后处理它们。
ll <- list(dat1,dat2)   ## I assume your table in a list 
ll <- lapply(seq_along(ll),function(i)cbind(ll[[i]],id = i))
do.call(rbind,ll)

A B C D E F id
1 1 b b 2 2 b 1
2 2 b b 2 2 b 1
3 1 c c 2 2 c 2
4 2 c c 2 2 c 2

我认为您不需要将所有内容都放在一个大数据框架中,您可以将它们放在列表中。
例如 :
ll <- lapply(ll,function(dat){
sum(rank(dat)) ## dummy rank function
})

你会得到每轮的分数列表
 ll
[[1]]
[1] 105

[[2]]
[1] 105

关于r - 如何使用表格列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119503/

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