создание `data.frame` из любых двух переменных с одинаковыми именами в двух больших data.frames в R - PullRequest
2 голосов
/ 23 сентября 2019

Используя циклическую структуру в BASE R, мне было интересно, как я могу сделать data.frame из любых двух переменных с одинаковыми именами в data.frames X и Y, а затем 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))

1 Ответ

2 голосов
/ 23 сентября 2019

Мы можем использовать Map, чтобы создать table соответствующих столбцов 'X' и 'Y'

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)])
...