Этот вопрос связан с этим here Я принял слишком рано, так как он не решает, что мне действительно нужно.Работа с нерасщеплением в R
Данные выглядит так:
m4 <- read.table(header=T, text='
model1 model2 model3 Output Model
0.13 0.113 0.18 0.4 m4
0.157 0.11 0.21 0.50 m4
0.058 0.03 0.18 0.46 m4 ')
m3 <- read.table(header=T, text='
model1 model2 model3 Output Model
0.13 0.113 0.18 0.4 m3
0.157 0.11 0.21 0.50 m3
0.058 0.03 0.18 0.46 m3 ')
m2 <- read.table(header=T, text='
model1 model2 model3 Output Model
0.200 0.099 NA NA m3
0.356 0.25 NA NA m3 ')
m1 <- read.table(header=T, text='
model1 model2 model3 Output Model
0.200 0.099 0.3 0.9 m1
0.35 0.252 0.4 0.9 m1 ')
models <- list(m4=m4, m3=m3, m2=m2, m1=m1)
EDIT1:
Желаемый результат с Нерасщепленным:
model1 model2 model3 Output Model
0.200 0.099 0.3 0.9 m1
0.35 0.252 0.4 0.9 m1
0.13 0.113 0.18 0.4 m4
0.157 0.11 0.21 0.50 m4
0.058 0.03 0.18 0.46 m4
Нужный soulution должен быть в пределах unsplit
... это означает : Запись 4-го списка (4,4) == означает 2 строки записи 4-го списка, аналогично (1,1,1) означает запись первого списка с тремя строками.
EDIT2: Может кто-нибудь указать мне, где я могу больше узнать о unsplit
? Я не могу найти ничего даже в книгах.
EDIT 3: Теперь предположим, что у меня есть эта вспомогательная функция, чтобы предоставить мне индексирование для извлечения из списка:
mat <- matrix(c(1,1,1,1,1),5,4)
mat[1,1] <- 0.66; mat[1,2] <- 0.33; mat[1,3] <- 0.33
mat[2,1] <- .66; mat[2,2] <- 0.33; mat[2,3] <- 0.33
extract <- apply(as.matrix(mat),1,which.max)
Это предположим, что для работы:
unsplit(models, extract)
Спасибо, но мне действительно нужно что-то еще не извлекая одну запись списка. См. Edit1-3. спасибо – Maximilian