【发布时间】:2023-03-25 21:30:01
【问题描述】:
我有四个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列。
我也发现了这个Testing for multiple identical columns in R,但这仅适用于data frame 中的列。
【问题讨论】:
-
你可以做
length(unique(list(df1, df2, df3, df4))) == 1假设数据框中的单个变量与你的例子一样共享一个通用名称。
标签: r dataframe compare multiple-columns