code & benchmark: http://pastebin.com/9d4m2HDc
for再改矩阵时很快,所以建议使用for
如果你是data.frame的话,还是建议转成data.table 避免不断复制data.frame的问题
apply虽然在这好用,但矩阵还是比不上循环的速度
※ 引述《sinclairJ (SunnyGymBoy)》之铭言:
: 小弟目前原始资料表格示意如下
: sample/col col1 col2 col3 col4 col5
: sample1 5 8 6 15 2
: sample2 16 8 16 25 5
: sample3 5 18 8 16 12
: 统计量a NA 7 10 15 30
: 统计量b 6 9 NA 8 8
: 问题一、请问要如何把统计量a或统计量b为NA的那栏删除,会变这样:
: sample/col col2 col4 col5
: sample1 8 15 2
: sample2 8 25 5
: sample3 18 16 12
: 统计量a 7 15 30
: 统计量b 9 8 8
: 问题二、再逐步计算每个cell里面的值,会变这样:
: sample/col col2 col4 col5
: sample1 (8-统计量a)/统计量b (15-a)/b (2-a)/b
: sample2 (8-a)/b (25-a)/b (5-a)/b
: sample3 (18-a)/b (16-a)/b (12-a)/b
: 因实际资料有上百行与上百列,想请教各位前辈如何用循环实现这两个问题,感谢