2015-08-12 3 views
2

У меня есть простой вопрос, поэтому давайте некоторые основные данныепеременного предела для определения значений

a <- rnorm(100, mean=1, sd = 0.1) 
b <- rnorm(100, mean=5, sd = 2) 
c <- data.frame(a,b) 

Теперь я хочу, чтобы переопределить C $ B таким образом, что, если она ниже предела, пользователь вручную определяет новый переменная будет принимать, и если она выше этого предела, то значения имеют такой же, как и предыдущие

c$b <- with(c, ifelse(b < 2, 1, # leave as exsiting value #)) 

так, когда б < 2, мы хотим присвоить значение 1, в противном случае использовать влияние существующей стоимости

+0

с помощью 'c' в качестве переменной в R не может быть лучшая идея, учитывая 'c' является допустимой командой. – Ricky

+0

Попробуйте 'с (c, ifelse (b <2, 1, b))' – akrun

+0

спасибо @ Рики, просто пример – lukeg

ответ

0

Если мы с нами ING ifelse, попробуйте

c$b <- with(c, ifelse(b < 2, 1, b)) 

Это даже не требует ifelse. Мы можем получить логический индекс значений меньше 2 в столбце «B» (c$b <2) и присвоить эти значения 1.

c$b[c$b<2] <- 1 
Смежные вопросы