2017-02-04 11 views
-1

Я очень новичок в этой странице, а также в R У меня есть один CSV файл , что файл содержит 6 столбцаКак разделить 1 столбец с другом, а затем использовать ту же формулу и применить его к другой colunms в R

название | выражение | mean_of_control | mean_of_test1 | mean_of_test2 | mean_of_test3

я хочу разделить mean_of_control/mean_of_test1 и сохранить его как новый столбец говоря FC_test1 аналогично mean_of_control/mean_of_test2 и сохранить его как новый столбец говоря FC_test2 mean_of_control/mean_of_test3 и сохранить его как новый столбец говоря FC_test3 этот FC_test1 FC_test2 FC_test3 должен быть в одном CSV файл , как я могу писать код для этого я не хочу использовать ту же самую формулу три раза я просто хочу код, который я могу использовать эту формулу и применять для всех колонке благодаря

+0

ваш вопрос размыт ... попробуйте отредактировать его, чтобы он стал яснее и конкретнее. – Jadeye

+0

(Да, очевидно, что вы «новы», но вам не нужно не знать о местных правилах и соглашениях. Это не чат.) Предложите вам потратить время на изучение, а затем выполнить соответствующий ответ на [mcve ]. Также предлагайте вам научиться добавлять периоды в конце предложений и применять соответствующую капитализацию для улучшения удобочитаемости. Не мое понижение, но я это понимаю. –

ответ

1

Мы создаем вектор имен столбцов для mean_of_test ('nm1') и новых столбцов ('nm2') (чтобы не повторять все строки снова), затем используйте Map для разделения «mean_of_control» на подмножество столбцов основанный на «NM1», чтобы создать новые столбцы, присвоив (<-)

nm1 <- paste0("mean_of_test", 1:3) 
nm2 <- paste0("FC_test", 1:3) 
df1[nm2] <- Map(`/`, list(df1$mean_of_control), df1[nm1]) 

Или используя vectorized методы, мы можем только повторить «mean_of_control», чтобы сделать длины же, а затем разделите из «mean_of_test 'колонны

df1[nm2] <- df1[nm1]/df1$mean_of_control[col(df1[nm1])] 

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

  • Нет связанных вопросов^_^