1
我有一个由字符和数字变量组成的大型数据框。我需要划分第6列到第4列5 6列,并保留1 2 3。R - 划分data.frame的某些列并保留其他列
我有一个由字符和数字变量组成的大型数据框。我需要划分第6列到第4列5 6列,并保留1 2 3。R - 划分data.frame的某些列并保留其他列
你的问题有点含糊不清(例如,你想要明智的分裂?),但这是你在找什么?
## 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]
我认为这里的一个矩阵必须使用'as.numeric()'从数字转换,如果我正确理解OP。这就像'as.numeric(data [,4:6])/ data.org [,6]' –
能否请您给我们一些示例数据,也许您提出的操作后的预期结果?现在你的问题有点模棱两可。 –
请仔细阅读http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example,这将有助于您创建一个示例。我怀疑你只需要'yourdataframe [4:6] < - yourdataframe [4:6]/yourdataframe [,6]' – user20650
谢谢你的回答。我有一个由23列组成的data.frame,我使用decompr软件包获得。我必须将元素从第4列分到第22列。我发现困难,因为第1:3列是因子,而其他列是数字。 @AlexMiller提供的答案是我所需要的。 – Francesco