Принудительный вывод функции mapply в фрейм данных R
library(verification)
Учитывая несколько экспериментов (AA,BB,...,
), Я могу запустить свой код следующим образом с помощью этого reproducible example
:
##################### EXPERIMENT AA
#my data in reality is continuous but I convert it to binary using a threshold
obs=data.frame(replicate(10,round(runif(100))))
pred=data.frame(replicate(10,round(runif(100))))
#introduce a few NA values to simulate real world data.
obs1=as.data.frame(lapply(obs, function(cc) cc[ sample(c(TRUE, NA), prob = c(0.85, 0.15), size = length(cc), replace = TRUE) ]))
pred1=as.data.frame(lapply(pred, function(cc) cc[ sample(c(TRUE, NA), prob = c(0.85, 0.15), size = length(cc), replace = TRUE) ]))
#A=mapply(verify,obs1,pred1,frcst.type = "binary", obs.type = "binary")
pred1[,1]=NA # some points in pred1 have all NAs in reality
a=mapply(function(x, y) {if(all(is.na(y))) NA else verify(x, y, frcst.type = "binary", obs.type = "binary")
}, obs1,pred1,SIMPLIFY = F,USE.NAMES = TRUE)
aa=do.call('rbind',a)# put all paramters together and keep rownames for easy identification
##################### EXPERIMENT BB
obs=data.frame(replicate(10,round(runif(100))))
pred=data.frame(replicate(10,round(runif(100))))
#introduce a few NA values to simulate real world data.
obs2=as.data.frame(lapply(obs, function(cc) cc[ sample(c(TRUE, NA), prob = c(0.85, 0.15), size = length(cc), replace = TRUE) ]))
pred2=as.data.frame(lapply(pred, function(cc) cc[ sample(c(TRUE, NA), prob = c(0.85, 0.15), size = length(cc), replace = TRUE) ]))
#A=mapply(verify,obs1,pred1,frcst.type = "binary", obs.type = "binary")
pred2[,1]=NA # some points in pred1 have all NAs in reality
b=mapply(function(x, y) {if(all(is.na(y))) NA else verify(x, y, frcst.type = "binary", obs.type = "binary")
}, obs2,pred2,SIMPLIFY = F,USE.NAMES = TRUE)
bb=do.call('rbind',b)# put all paramters together and keep rownames for easy identification
1) Я бы хотел принуждать aa
а также bb
к кадру данных называется Answer
игнорирование $tab, $pred,$obs
, Обратите внимание, что rownames
в aa
а также bb
являются colnames
входных данных (все входы имеют одинаковые имена столбцов)
2) Для эксперимента AA
, BB
, ...
в Answer
Я хочу также иметь смежные столбцы для каждого параметра из обоих экспериментов, например TS
в Answer
буду иметь TS1
,Ts2
как отдельные столбцы, представляющие эксперимент AA и BB, соответственно.