gpt4 book ai didi

r - 如何检查新数据提取是否具有相同的结构?

转载 作者:行者123 更新时间:2023-11-28 20:31:31 24 4
gpt4 key购买 nike

我在一个研究联盟工作,该联盟拥有一个基于网络的数据管理系统,该系统由另一个机构管理。我可以从该系统下载基础数据作为 CSV 文件的集合。使用 Rknitr,我在这些文件之上构建了一个中等复杂的报告系统。但每隔一段时间,其他机构就会更改数据提取的格式并破坏我的报告(或者更糟糕的是,以一种我数周都没有注意到的微妙但邪恶的方式进行更改)。

当这些事情发生时,他们可能永远不会通知我,所以我想我应该进行更多测试。我想首先测试这些 CSV 文件是否每次都具有相同的结构(但随着我们收集更多数据,允许不同的行数)。最好的方法是什么? R 是我的首选工具,但我有兴趣了解其他免费的 Windows 工具。

最佳答案

如果您的文件只是 CSV,下面是一个示例(假设您保留了一个引用文件):

reference.file <- read.csv("ref.csv")
new.file <- read.csv("new.file")

struct.extract <- function(df) {
list(
vapply(df, class, character(1L)),
attributes(df)[names(attributes(df)) != "row.names"]
)
}
identical(struct.extract(reference.file), struct.extract(new.file))

这会比较数据框的属性以及列的类。如果您需要更详细地了解列格式,您可以轻松扩展它。这假设报告没有更改行数(或列数),但如果是这种情况,也应该很容易修改。

关于r - 如何检查新数据提取是否具有相同的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321707/

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