Попытка добавить разрыв строки в функцию, но не может заставить его работать правильно - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в R, так что терпите меня!Попытка сделать проект для класса колледжа.

Вот моя функция:

function(x) {
    y = seq(from = 1, to = x, by = 1)
    f = cat(paste("This is Banana", y, sep="\n"))
    return(f)
}

Из некоторых поисков здесь я научился добавлять cat и sep="\n" для вставки разрывов строк.,Однако он вставляет их не в том месте:

Когда я запускаю функцию (например, x=3), она делает это и пропускает номер на следующую строку

This is Banana
1 This is Banana
2 This is Banana
3 NULL

Я хочуэто будет выглядеть так:

This is Banana 1
This is Banana 2
This is Banana 3

Любой совет приветствуется, спасибо за тонну.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Дэн Y уже ответил на ваш вопрос, я просто хочу упомянуть, почему ваш код дает другой вывод - это потому, что функция paste использует аргумент sep для определения строки символов, используемой для разделения каждого данного аргумента, а не просто добавьте его один раз в конце всех приведенных аргументов.

Таким образом, paste("This is Banana", y, sep="\n") фактически вставляет разрыв строки между This is Banana и y, поэтому цифры появляются на следующей строке вместо текущей.

0 голосов
/ 07 сентября 2018

Избавьтесь от f и переместите закрывающую скобку на paste (вы также можете упростить seq):

myfun <- function(x) {
    y <- seq(x)
    cat(paste("This is Banana", y), sep="\n")
}

myfun(3)
This is banana 1 
This is banana 2 
This is banana 3 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...