печатать на каждой итерации, так что вывод между элементами списка - PullRequest
2 голосов
/ 06 апреля 2020

Кажется рудиментарным вопросом. Есть ли способ до print() или message() между итерациями функции, чтобы печать находилась между элементами списка в выводе консоли. Пример:

two_sq <- function (x) {
  print(paste("this is ", x))
  x^2
}
lapply(1:3, two_sq)

Дает:

    # [1] "this is  1"
    # [1] "this is  2"
    # [1] "this is  3"
    # [[1]]
    # [1] 1

    # [[2]]
    # [1] 4

    # [[3]]
    # [1] 9

Желаемый вывод:

# [1] "this is  1"

# # [[1]]
# # [1] 1

# [2] "this is  2"

# # [[2]]
# # [1] 4

# [3] "this is  3"

# # [[3]]
# # [1] 9

Ответы [ 2 ]

1 голос
/ 06 апреля 2020
two_sq <- function (x) {
    print(paste("this is ", x))
    print(x^2)
}
invisible(lapply(1:3, two_sq))

# [1] "this is  1"
# [1] 1
# [1] "this is  2"
# [1] 4
# [1] "this is  3"
# [1] 9
1 голос
/ 06 апреля 2020

Мы можем использовать for l oop

for(i in 1:3) two_sq(i)
#[1] "this is  1"
#[1] 1
#[1] "this is  2"
#[1] 4
#[1] "this is  3"
#[1] 9

, где

two_sq <- function (x) {
    print(paste("this is ", x))
    print(x^2)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...