2016-04-08 4 views
0

У меня есть две переменные, одна зависит, а другая - независимая переменная. Зависимая переменная - x, а независимая переменная - y. Зависимая переменная сама является матрицей и ее можно повторить как x[,1:n]; то же относится к независимой переменной. Независимую переменную можно повторить как y[,1:n]. Теперь для одного экземпляра переменной - я бы использовал функцию таблицы в R, чтобы найти ROC следующим образом: table(y[,1], round(x[,1]). Я хочу использовать функцию apply здесь, чтобы я мог одновременно перебирать обе переменные - что-то вроде apply(ind_var,dep_var,2,function(x,y){x,round(y)}) Это легко сделать с помощью цикла for - можно ли это сделать с помощью apply?Использовать с таблицей в R

Благодаря

ответ

1

попробуйте использовать sapply:

sapply(1:ncol(x), function(i) table(y[,i], round(x[,i])) 
+0

Могу ли я использовать mapply в этом - mapply кажется более правдоподобным использовать. – motiur

+0

Я получаю эту ошибку: все аргументы должны иметь одинаковую длину. – motiur

+0

Это действительно зависит от вашей структуры данных. Из того, что вы описали, x и y имеют одинаковое количество столбцов. Если это неверно, но ошибка, которую вы получаете, говорит иначе. Если вы думаете об использовании 'mapply', то должна быть одинаковая длина аргументов. В качестве дополнительной заметки я часто обнаружил, что «Map()» проще в использовании, чем «mapply()». – lmo

Смежные вопросы