R 从大的数字向量创建计数矩阵
假设我有一组非常大的X,Y数字,介于0和1之间(暂时忽略第三列): 我试图创建一个计数矩阵,计算某个值范围内出现的X,Y数量。例如,有多少数据点发生在哪里R 从大的数字向量创建计数矩阵,r,matrix,R,Matrix,假设我有一组非常大的X,Y数字,介于0和1之间(暂时忽略第三列): 我试图创建一个计数矩阵,计算某个值范围内出现的X,Y数量。例如,有多少数据点发生在哪里 0.49<X<0.5 and 0.49<Y<0.5 0.49 dd<- data.frame( X = c(0.5, 0.500559, 0.500708, 0.500708, 0.498227, 0.488925, 0.484398, 0.476617, 0.474858, 0.4
0.49<X<0.5 and 0.49<Y<0.5
0.49
dd<- data.frame(
X = c(0.5, 0.500559, 0.500708, 0.500708, 0.498227,
0.488925, 0.484398, 0.476617, 0.474858, 0.470889),
Y = c(0.1,
0.100946, 0.100903, 0.100903, 0.100267, 0.0997211, 0.100495,
0.10003, 0.0993702, 0.0990931),
OTHER = c(1.88093e-296, 1.14878e-296,
1.00751e-296, 1.00751e-296, 8.935e-296, 2.70318e-292, 1.19442e-290,
7.06571e-288, 2.95419e-287, 7.00569e-286)
)
dd检查cut
和表的功能
data <- read.table(args[1]);
sizeuse<-100;
mdat <- matrix(rep(0,sizeuse*sizeuse), nrow = sizeuse, ncol = sizeuse)
nr<-nrow(data);
for(i in 1:nr){#1:1000) {
x<-floor(data[i,]$V1/(1/sizeuse));
y<-floor(data[i,]$V2/(1/sizeuse));
mdat[ x , y ] <- mdat[ x , y ]+1;
}
dd<- data.frame(
X = c(0.5, 0.500559, 0.500708, 0.500708, 0.498227,
0.488925, 0.484398, 0.476617, 0.474858, 0.470889),
Y = c(0.1,
0.100946, 0.100903, 0.100903, 0.100267, 0.0997211, 0.100495,
0.10003, 0.0993702, 0.0990931),
OTHER = c(1.88093e-296, 1.14878e-296,
1.00751e-296, 1.00751e-296, 8.935e-296, 2.70318e-292, 1.19442e-290,
7.06571e-288, 2.95419e-287, 7.00569e-286)
)
xc<-cut(dd$X, breaks=(46:51)/100)
yc<-cut(dd$Y, breaks=(9:11)/100)
table(xc,yc)