2016-09-18 4 views
1

У меня есть большой data.frame из символов и числовых переменных. Мне нужно разделить, скажем, столбец 6 на столбцы 4 5 6, и сохранить 1 2 3, как есть.R - разделите некоторые столбцы data.frame и сохраните остальные

+0

Не могли бы вы предоставить нам некоторые данные примера и, возможно, желаемый результат после предлагаемой вами операции? Сейчас ваш вопрос немного неоднозначен. –

+1

Пожалуйста, прочитайте статью http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example, которая поможет вам создать пример. Я подозреваю, что вам просто нужно 'yourdataframe [4: 6] <- yourdataframe [4: 6]/yourdataframe [, 6]' – user20650

+0

Спасибо за ваши ответы. У меня есть data.frame из 23 столбцов, которые я получил с помощью пакета decpr. Мне нужно разделить элемент за элементом по столбцам от 4 до 22 с столбцом 20. Мне было сложно, поскольку столбцы 1: 3 являются факторами, а другие столбцы - числами. Ответ, предоставленный mr @AlexMiller, был тем, что мне нужно. – Francesco

ответ

1

Ваш вопрос немного расплывчатый (например, вы хотите элементное разделение?), Но это то, что вы ищете?

## set up some test data 
data.org=data.frame(matrix(1:100,ncol=10)) 

## make a copy of the org. data 
data=data.org 

## perform your element by element division 
data[,4] = data.org[,4]/data.org[,6] 
data[,5] = data.org[,5]/data.org[,6] 
data[,6] = data.org[,6]/data.org[,6] 

## Or the entire operation can be done with one line by 
data[,4:6] = data.org[,4:6]/data.org[,6] 
+0

Я думаю, что одна из матриц здесь должна быть преобразована из числовой, используя 'as.numeric()', если я правильно понимаю OP. Это будет нечто вроде 'as.numeric (data [, 4: 6])/data.org [, 6]' –

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