繁体   English   中英

如何测试多个数据框的列名是否相同

[英]How to test if column names of multiple dataframes are same

假设我有 10 个数据框。 我想检查是否都具有相同的列名,而不管它们的情况如何。 我可以分多个步骤执行此操作,但我想知道是否有快捷方式来执行此操作?

我们将数据集放在一个list ,使用lapply list ,获取列名,将其转换为单个大小写,获取unique并检查length是否为 1

length(unique(lapply(lst1, function(x) sort(toupper(names(x)))))) == 1
#[1] TRUE

数据

lst1 <- list(mtcars, mtcars, mtcars)

您可以使用Reduce + intersect获取数据框列表中的所有常见列名称,并将其与列表中任何单个数据框的名称进行比较。

all(sort(Reduce(intersect, lapply(list_df, names))) == sort(names(list_df[[1]])))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM