Строка сопряжения с для цикла -R - PullRequest
0 голосов
/ 21 декабря 2018

есть очень простой вопрос о соединении строк с циклами for.Поэтому я создаю функцию, которая возвращает все комбинации символов буксировки.У меня сработала общая идея, но мне было трудно сделать возврат в качестве вектора.Вот мой код:

paste_chars <- function(char_vec) {
    res = c()
            for ( i in 1:length(char_vec)) {
                    for ( j in 1:length(char_vec)){
                            append(res, paste(char_vec[i], char_vec[j], sep = ''))
                            j + 1
                    }
                    i + 1
            }
    return(res)
    }

Итак, что я хочу, это char_vec (c ('a', 'b', 'c')) return "aa" "ab" "ac" "ba" "bb "" bc "" ca "" cb "" cc "как вектор.Я не знаю, почему эта функция всегда возвращает NULL, поэтому функция добавления внутри цикла не работает.Спасибо!

1 Ответ

0 голосов
/ 21 декабря 2018

Лучшим решением было бы использовать expand.grid вместо цикла for:

apply(expand.grid(x=letters,y=letters)[,c(2,1)],1,function(x)paste0(x,collapse=""))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...