我目前正在对一些大数据进行聚类,大约 30k 行,R 无法处理的相异矩阵太大,我认为这不仅仅是内存大小问题。也许有一些聪明的方法可以做到这一点?
问问题
1662 次
1 回答
1
如果您的数据太大以至于基础 R 无法轻松应对,那么您有几种选择:
- 在具有更多 RAM 的机器上工作。
- 使用支持使用 R 处理更大数据的商业产品,例如 Revolution Analytics。
这是使用RevoScaleR
Revolution 的商业包的示例。我使用 dataset diamonds
,部分原因是ggplot2
它包含 53K 行,即比您的数据大一点。该示例没有太多的分析意义,因为我天真地将因子转换为数字,但它说明了笔记本电脑上的计算:
library(ggplot2)
library(RevoScaleR)
artificial <- as.data.frame(sapply(diamonds, as.numeric))
clusters <- rxKmeans(~carat + cut + color + clarity + price,
data=artificial, numClusters=6)
clusters$centers
这导致:
carat cut color clarity price
1 0.3873094 4.073170 3.294146 4.553910 932.6134
2 1.9338503 3.873151 4.285970 3.623935 16171.7006
3 1.0529018 3.655348 3.866056 3.135403 4897.1073
4 0.7298475 3.794888 3.486457 3.899821 2653.7674
5 1.2653675 3.879387 4.025984 4.065154 7777.0613
6 1.5808225 3.904489 4.066285 4.066285 11562.5788
于 2013-09-19T13:27:57.683 回答