r - 多个数据框中的多个相同列 - R
问题描述
我有四个data frames
,其中一个类似的列名为“类型”。
df1 <- data.frame(Type = c('A','B','C','D','E','F'))
df2 <- data.frame(Type = c('A','B','C','D','E','F'))
df3 <- data.frame(Type = c('A','B','C','D','E','F'))
df4 <- data.frame(Type = c('A','Z','C','D','E','F'))
我想检查此列是否全部相同data frames
。
目前,我正在使用以下方法一次检查两个数据帧:
as.integer(as.logical(identical(df1$Type, df2$Type)))
如果相同,则为 1,否则为 0。
我想执行如下一行:
as.integer(as.logical(identical(df1$Type, df2$Type, df3$Type, df4$Type)))
但identical
一次只能处理 2 列。
我还在R 中找到了针对多个相同列的测试,但这仅适用于一个中的列data frame
。
解决方案
您可以使用Type
从数据框中提取列并将任何一个元素与所有元素进行比较。
list_df <- mget(paste0('df', 1:4))
#Or manually creating a list
#list_df <- list(df1, df2, df3, df4)
tmp <- lapply(list_df, `[[`, 'Type')
all(sapply(tmp, function(x) all(x == tmp[[1]])))
#[1] FALSE
推荐阅读
- python - 删除列中的部分值
- javascript - 如何在 JavaScript 中停用 beforeunload 事件监听器
- html - 为什么 css 类在 ion-toolbar 中不起作用?
- azure - 为什么我收到“New-AzSqlDatabaseImport:未找到:找不到实体以调用导入”
- python - keras 只会给出 0.5001 的准确度
- node.js - 解决快递请求中的 UnhandledPromiseRejectionWarning
- constraint-programming - 在约束中使用 IntVar 作为 IntVar[] 数组的索引
- perl - 从一个 Excel 文件复制到另一个文件时无法保留格式
- r - data.table::fread 读取 Excel 工作簿中的所有工作表
- dll - 包括 CGAL 共享库以部署 CGAL 程序