1
我愿做PCA上的数据帧是在长型:PCA R中长型
时间1 ID1 DATA11
时间1 ID2数据12
时间2 ID1 data21
等等
有没有一种简单的方法来做到这一点或是标准的方式到reshape
它然后做princomp
。我的数据集非常大,大约有40,000次和4,000个ID。
我愿做PCA上的数据帧是在长型:PCA R中长型
时间1 ID1 DATA11
时间1 ID2数据12
时间2 ID1 data21
等等
有没有一种简单的方法来做到这一点或是标准的方式到reshape
它然后做princomp
。我的数据集非常大,大约有40,000次和4,000个ID。
对于这样一个简单的整形,我认为你需要的是
m <- matrix(mydata[,3],nrow=ntimes,byrow=TRUE)
princomp(m)
这应该给你一个ntimes
通过nIDs
矩阵一起玩。它会(可能很多)比reshape
更快。
伟大的建议 - 谢谢!我会给你一个镜头,但似乎它会工作。 – Alex
更快,但也更危险。 – hadley
够公平的。虽然(print(object.size(seq(1.6e8)),units =“Mb”)'[[或者我可以将4个字节乘以1.6e8!],所得到的矩阵将是610 Mb!] OP可能需要全部他们可以得到的速度,我将运行一些基准测试,但我不能在我的笔记本电脑上轻松创建这样一个大对象。 –