Я использую lapply для циклического преобразования списка данных и применения одного и того же набора функций. Это отлично работает, когда lapply имеет только одну функцию, но я изо всех сил пытаюсь понять, как я храню/печатаю вывод из нескольких функций - в этом случае я, кажется, получаю только вывод из одного цикла.R сохранение вывода из lapply с несколькими функциями
Так что:
output <- lapply(dflis,function(lismember) vss(ISEQData,n=9,rotate="oblimin",diagonal=F,fm="ml"))
работы, а в следующем не будет:
output <- lapply(dflis,function(lismember){
outputvss <- vss(lismember,n=9,rotate="oblimin",diagonal=F,fm="ml")
nefa <- (EFA.Comp.Data(Data=lismember, F.Max=9, Graph=T))
})
Я думаю, что это фиктивный пример является аналогом, так и в других словах:
nbs <- list(1==1,2==2,3==3,4==4)
nbsout <- lapply(nbs,function(x) length(x))
Дает мне что-то, к чему я могу получить доступ, в то время как я не могу видеть, как сохранить вывод, используя приведенное ниже (например, попытка использовать nbsout [[x]] [2 ]):
nbs <- list(1==1,2==2,3==3,4==4)
nbsout <- lapply(nbs,function(x){
nbsout[[x]][1]<-typeof(x)
nbsout[[x]][2]<-length(x)
}
)
Я использую RStudio и затем будет печатать выходы/вязание HTML (где это имеет смысл для отображения результатов из каждого набора данных вместе, а не каждой функции-вывода для каждого набора данных последовательно).
Я думаю, будет легче получить доступ к значениям, если они будут использовать 'c' вместо' list' (по крайней мере, для их воспроизводимого примера, когда результат равен только одному значению для каждой функции) –
@DavidArenburg 'c' is просто ярлык для 'list', не так ли? – agstudy
@agstudy, выход представляет собой вектор для каждого аргумента в списке, а не список для каждого аргумента в списке. Попробуйте 'lapply (nbs, function (x) {nbsout1 <-typeof (x); nbsout2 <-length (x); c (nbsout1, nbsout2)})' –