2015-07-07 1 views
-3

Я подготовил довольно сложную функцию R, которая работает хорошо. Тем не менее, каждый раз, когда выполняется его R заполняет экран со следующим выражением:R подсказка [1] 1 во время работы функции

[1] 1 
    [1] 1 
    [1] 1 
    [1] 1 
    [1] 1 
    [1] 1 

мне было интересно, если есть способ избежать этого побуждая от R. Здесь я могу дать вам пример функции:

y=function(x){ 
    results=rep(0, length(x)) 
    for (i in (1:length(x))) { 
      if (x[i]>0) { 
        results[i]=u(x) 
        } 
    } 
} 

u=function(x){ 
      output=x+1 
      return(output) 
} 
+0

'y' не возвращает мне вещи. 'u' возвращает только одно значение. – SabDeM

+0

заменить 'return (output)' by 'invisible (output)' –

+0

вы также можете заменить цикл на 'ifelse' –

ответ

0

Вы можете посмотреть в sink("NUL"), например, так:

u(9) 
#[1] 10 
sink("NUL") 
u(9) 
sink() 
u(9) 
#[1] 10 
+0

Я хочу поблагодарить всех вас за вклад. Я понял, в чем проблема, это связано с выходом некоторых подфункций. –

+0

Вы можете добавить свое решение в качестве ответа и принять его – erasmortg

Смежные вопросы