В R, у меня есть две матрицы, х и у, которые оба имеют одинаковое число столбцов, скажем, к примеру:Эффективного R сравнения матрицы
x <- matrix(runif(10*20),10,20)
y <- matrix(runif(50*20),50,20)
Что такое наиболее эффективного способ создания матрицу, содержащую результат следующего сравнения. Сравните каждую строку в x с каждой строкой в y (сравнение строк 10x50), верните, сколько чисел в строке y меньше, чем соответствующее число в строке x. Поместите результаты в матрицу результатов 10x50.
Следующий код работает, но это не является эффективным:
result <- matrix(NA,10,50)
for (i in 1:10) {
for (j in 1:50) {
result[i,j]<- sum(x[i,]>y[j,])
}
}
Можете ли вы сделать ваш [? Пример воспроизводимая] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible -пример). Код, который вы предоставили, не запускается. – Heroka
, и вы хотели сказать «вернуть, сколько чисел в строке« x »меньше соответствующего номера в строке« y », правильно? –
Откуда вы знаете, что это не эффективно? с чем вы сравнили это? – pcantalupo