#r
#r
Вопрос:
Я хочу вставить в новую строку без кавычек, я пытался:
a<-c(5,2,8,6,11,4,7) #assign values to a vector
n=5 #assign your optimal value
ifelse(a==n, paste0(n, " is optimal.", 'n'), ifelse(a>n, paste0(a, " is high.", 'n'), paste0("Caution: ",a," is low.", 'n')))
Я получил этот вывод:
'5 is optimal. n''Caution: 2 is low.n''8 is high.n''6 is high.n''11 is high.n''Caution: 4 is low.n''7 is high.n'
Я хочу, чтобы этот вывод:
5 is optimal.
Caution: 2 is low.
8 is high.
6 is high.
11 is high.
Caution: 4 is low.
7 is high.
Ответ №1:
Это просто проблема с печатью. Мы можем обернуть с cat
cat(ifelse(a==n, paste0(n, " is optimal.", 'n'),
ifelse(a>n, paste0(a, " is high.", 'n'),
paste0("Caution: ",a," is low.", 'n')))
, 'n')
-вывод
# 5 is optimal.
# Caution: 2 is low.
# 8 is high.
# 6 is high.
# 11 is high.
# Caution: 4 is low.
# 7 is high.
Или другой вариант с glue
library(dplyr)
glue::glue("{a} {case_when(a == n ~ 'is optimal'",
", a > n ~ 'is high.', TRUE ~ 'is low.')}")
#5 is optimal
#2 is low.
#8 is high.
#6 is high.
#11 is high.
#4 is low.
#7 is high.
Комментарии:
1. @user432797
cat
wherefore не имеет возвращаемого значения. Он просто печатается на консоли2. @user432797 существует также
glue
метод,3. @user432797 Пожалуйста, проверьте мой обновленный код с помощью
glue
4. @user432797 Мой вывод я обновил. Он отображает несколько строк в печати
5. @user432797 это может быть связано с оценкой новой строки в jupyter.