2016-09-18 82 views
1

我有一個由字符和數字變量組成的大型數據框。我需要劃分第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

謝謝你的回答。我有一個由23列組成的data.frame,我使用decompr軟件包獲得。我必須將元素從第4列分到第22列。我發現困難,因爲第1:3列是因子,而其他列是數字。 @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]' –

相關問題