Проблема в том, как вы определяете условие. Должно быть
if(!(x > 0)){
вместо
if(!x > 0){
Это потому, что !x
преобразует входные данные (числовые) в логические - что даст TRUE
для всех значений, кроме нуля. Итак:
> fun <- function(x){
+ if (!(x > 0)) {print ("not bigger than zero")}
+ }
> fun(1)
> fun(0)
[1] "not bigger than zero"
> fun(-1)
[1] "not bigger than zero"