2016-09-18 84 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]' –

相关问题