在 R 中的两个较大 data.frame 中的任意两个同名变量中制作一个 data.frame`

making a `data.frame` out of any two same-name variables in two larger data.frames in R

在 BASE R 中使用循环结构,我想知道如何从 data.frames X 和 [=15= 中的任意两个同名变量中创建 data.frame ] 然后 table 每个 data.frame?

没有循环结构,我的R代码是:

X <- data.frame(R = rbinom(20, 1, .4), B = rbinom(20, 3, .3), N = rbinom(20, 5, .7))
Y <- data.frame(R = rbinom(20, 1, .4), B = rbinom(20, 3, .3), N = rbinom(20, 5, .7))

 table(data.frame(X$R, Y$R))

 table(data.frame(X$B, Y$B))

 table(data.frame(X$N, Y$N))

我们可以使用Map创建'X'和'Y'

对应列的table
Map(table, X, Y[names(X)])

如果我们需要有相同的关卡

Map(function(x, y) table(factor(x, levels = 0:5), 
                factor(y, levels = 0:5)), X, Y[names(X)])