Я бы удалил элемент длиной! = 4 из этой структуры данных
library(partitions)
permListParts <- function (x)
{
f <- function(pp) {
out <- split(seq_along(pp), pp)
myPerms <- perms(length(out))
apply(myPerms, 2, function(x) {
temp <- out[x]
class(temp) <- c(class(temp), "equivalence")
temp
})
}
apply(setparts(x), 2, f)
}
x=c(33,45,77,23,15)
parts <- permListParts(length(x))
out <- rapply(parts, function(ii) x[ii], how = "replace")
для удаления я использую этот код:
for(i in 1:length(out)){
if (length(out[[i]][[1]])!=4){out=out[-i]}}
но цикл не удаляет элемент, который я хотел бы
Здравствуйте, пожалуйста, сохраните тег rstudio для проблем, связанных с интерфейсом Rstudio. Ваше здоровье
Попробуйте out[vapply(out,function(x) length(x[[1]])==4,TRUE)].
@bobbel, я забыл написать здесь 1: length (out), но результат не меняется





Что делать, если вы попробуете
for(i in 1:length(out))? Ваша текущая спецификация цикла выполняется только один раз, гдеiпринимает значениеlength(out)и все.