Мы можем создать SecondVector
внутри l oop при инициализации list
для хранения вывода
beginvar <- 1
endvar <- 2
lst1 <- vector('list', 3)
for(i in 1:3) {
SecondVector <- FirstVector[c(beginvar:endvar)]
df <- tibble(id = seq_along(SecondVector), text = SecondVector)
a <- as.matrix.data.frame(table(unnest_tokens(df, word, text)))
b <- colnames(table(unnest_tokens(df, word, text)))
colnames(a) <- b
lst1[[i]] <- a
beginvar <- beginvar + 2
endvar <- endvar + 2
}
-output
lst1
#[[1]]
# angry dog dolphin fox funny
#[1,] 0 1 0 1 1
#[2,] 1 1 1 0 0
#[[2]]
# bored cat catfish clam fish startled
#[1,] 1 1 1 0 0 0
#[2,] 0 0 0 1 1 1
#[[3]]
# bored cat catfish lion startled tiger
#[1,] 0 0 0 1 1 1
#[2,] 1 1 1 0 0 0
Или используйте while
l oop
beginvar <- 1
endvar <- 2
lst1 <- list()
flag <- TRUE
i <- 1
while(flag){
SecondVector <- FirstVector[c(beginvar:endvar)]
df <- tibble(id = seq_along(SecondVector), text = SecondVector)
a <- as.matrix.data.frame(table(unnest_tokens(df, word, text)))
b <- colnames(table(unnest_tokens(df, word, text)))
colnames(a) <- b
lst1[[i]] <- a
if(endvar >= length(FirstVector)){
flag <- FALSE
} else
beginvar <- beginvar + 2
endvar <- endvar + 2
i <- i + 1
}
Если нам нужно создать несколько объектов в глобальном env
beginvar <- 1
endvar <- 2
flag <- TRUE
i <- 1
while(flag){
SecondVector <- FirstVector[c(beginvar:endvar)]
df <- tibble(id = seq_along(SecondVector), text = SecondVector)
a <- as.matrix.data.frame(table(unnest_tokens(df, word, text)))
b <- colnames(table(unnest_tokens(df, word, text)))
colnames(a) <- b
assign(paste0('matrix', i), a)
if(endvar >= length(FirstVector)){
flag <- FALSE
} else
beginvar <- beginvar + 2
endvar <- endvar + 2
i <- i + 1
}
matrix1
# angry dog dolphin fox funny
#[1,] 0 1 0 1 1
#[2,] 1 1 1 0 0
matrix2
# bored cat catfish clam fish startled
#[1,] 1 1 1 0 0 0
#[2,] 0 0 0 1 1 1
matrix3
# bored cat catfish lion startled tiger
#[1,] 0 0 0 1 1 1
#[2,] 1 1 1 0 0 0