2016-10-14 3 views
0

у меня есть это немного сложно (для меня) вопрос:R: изменение значения в колонке на основе другого вектора

У меня есть data.frame с 3-мя столбцами:

LA  CA   GA 
1 1.288298 4.360709 -0.1440910 
2 1.870277 5.218541 0.9997955 
3 3.452725 5.250283 1.6460251 
4 3.440450 6.035890 0.8467339 
5 4.158738 4.805809 -0.3970444 
6 3.024154 6.521119 0.7635716  

и у меня есть вектор с 3-х элементов называется преобразованием:

transform=c("log","","log") 

Итак, мне нужно, если первый элемент преобразования имеет «бревном», то сделайте exp функцию на первой колонке и т.д.

Как я могу это сделать? Я думаю, что в способе использования ifelse с mapply, но я не уверен ...

+0

Try: 'ехр (Даты [, что (преобразование% в% "бревне") ]) ' – count

+0

К сожалению, это не работает для меня –

+0

Какая ошибка у вас? – count

ответ

1

Это должно работать: exp(dat[,which(transform %in% "log")])

+0

Интересно, что команда оставила только те столбцы, где «log», но мне нужны все три столбца слева –

+0

Просто сделайте 'dat [, которые (преобразование% в%" log ")] <- exp (dat [, которые (transform% в% "log")]) ' – count

+0

О, спасибо. Это будет работа –