Нужна функция print () в R - PullRequest
2 голосов
/ 11 июля 2019

Иногда я читаю посты, где люди используют функцию print(), и я не понимаю, почему она используется. Здесь , например, в одном ответе код будет

print(fitted(m))
#         1         2         3         4         5         6         7         8 
# 0.3668989 0.6083009 0.4677463 0.8685777 0.8047078 0.6116263 0.5688551 0.4909217 
#         9        10 
# 0.5583372 0.6540281 

Но использование метки (m) даст тот же результат.Я знаю, что есть ситуации, когда нам нужно print(), например, если мы хотим создавать графики внутри циклов .Но почему функция print() используется в случаях, подобных описанному выше?

Ответы [ 2 ]

4 голосов
/ 11 июля 2019

Я предполагаю, что во многих случаях использование print - это просто плохая / избыточная привычка, однако print имеет несколько интересных опций:

Данные:

x <- rnorm(5)
y <- rpois(5, exp(x))
m <- glm(y ~ x, family="poisson")
m2 <- fitted(m)
#         1         2         3         4         5 
# 0.8268702 1.0523189 1.9105627 1.0776197 1.1326286 

digits - показывает требуемое количество цифр

print(m2, digits = 3) # same as round(m2, 3)
#     1     2     3     4     5 
# 0.827 1.052 1.911 1.078 1.133 

na.print - превращает NA значения в указанное значение (очень похоже на аргумент zero.print)

m2[1] <- NA
print(m2, na.print = "Failed")
#        1        2        3        4        5 
#   Failed 1.052319 1.910563 1.077620 1.132629 

max - печатает требуемое количество значений

print(m2, max = 2) # similar to head(m2, 2)
#        1        2 
#       NA 1.052319 
2 голосов
/ 11 июля 2019

Я предполагаю, так как сам редко использую print:

  • с использованием print() делает очевидным, какие строки вашего кода печатают, а какие - фактический персонал.Это может упростить повторное чтение вашего кода позже.
  • с использованием print() явно может упростить последующий рефакторинг вашего кода в функцию, вам просто нужно изменить print на return*Программисты 1011 *
  • , работающие на языке со строгим синтаксисом, могут сильно не любить функцию автоматической печати r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...