6月28更新
非常谢谢大家出谋划策, 新遇到的需要做pca的每个小组在大数据集里所取用的x和y均不同, 所以目前看来应该只能loop了.
但是如果y相同, 加入by变量可以大大提升速度.
再次感谢大家~
------------------------------------------------------以下原问题-------------------------------------------------
有一个非常大的数据集,有一个指标变量,指标变量里有三个独立的数字会变化,比如a1b1c1,a1b1c2,a1b1c3, a1b2c1.....对每一个指标组都要进行一次主成分分析与一次回归。如果用for循环, 会有三层循环,由于组别非常多,循环次数非常多,跑一次要好几个小时,非常不利于debug和实际应用。有没有其它可以提高运行速度的办法呢?
求大神指教,多谢多谢!
6月21日补充:
试了一下下面大神的办法,确实可以快很多。但是新的问题是,:
proc princomp data = a out = b outstat = c plots=none;
by flag;
var abc;
run;
如上程序,每一个flag组的var不完全一致怎么办?
我有试过让不属于哪个flag组的var在那个flag组就为missing,但是var好像有一个missing, 整条记录都不会被用。
所以再次来问有批量处理的方法吗?loop效率真的太低了。。。
再次感谢~
程序更新在10楼啦~拜谢~