r - 比较不等长度的数据帧列表

标签 r

我有 2 个数据框列表。我想创建一个返回 DF2 索引向量的函数,其中索引是重复的数据帧。我需要将列表 2 中的每个 df 与列表 1 中的每个 df 进行比较。此代码还需要在等长列表上工作,其中列表 1 可能比列表 2 长。

例如,

library(tidyverse)
x <- mtcars %>% split(.$cyl)
y <- x[1:2]
y[[3]] <- mtcars[1:5,1:6]
x[[4]] <- x[[1]]
x[[5]] <- x[[2]]
identical(x[[1]],y[[1]]) #returns true
identical(x[[3]], y[[1]]) #returns false
length(x)   #returns 5
length(y)   #returns 3

伪代码:

comparelists <- function(x,y) {some code}
q <- mapply(compareLists, x, y)
q #returns 1,2

我相信我需要多个相同的语句,但很难想出有效的逻辑来检查列表 2 中的每个数据帧与列表 1 中的每个数据帧,以便将 list2[[[1]] 与 list1[ 进行比较[1:5]] 和 list2[[2]] 与 list1[[1:5]] 进行比较,依此类推...

最佳答案

如果我们需要对每一对执行此操作,请使用

lapply(x, function(u) sapply(y, identical, u))

或与外部

outer(x, y, FUN = Vectorize(identical))

关于r - 比较不等长度的数据帧列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66264375/

相关文章:

sql - 使用 SQLDF 从列中选择特定值

r - 如何使用 case_when 在 dplyr 中应用不同的函数

r - dplyr排列()函数按缺失值排序

R - 带加权词的字符串距离

r - sparklyr hadoop配置

r - pmatch 没有完整记录

r - 计算 R 中向量中的 "changes in direction"

r - fit.Matrix(tcm, model) : inherits(model, "mlapiEstimation") 中的错误不是 TRUE

r - 每组使用 2 种颜色进行绘图

r - 在 Windows 7 上使用 phantomjs 和 RSelenium