1 つのマトリックス (data1) の値を使用して、2 番目のマトリックス (data2) をより小さいマトリックス (foo) にサブセット化する方法を決定しています。ただし、fooのサイズを事前に知る方法がないため、問題が発生しています。
これが MWE です (問題の実際のデータ構造体は 100,000 行以上の長さです)。
data1 <- rbind(c(102,250,'stim1'),c(477,839,'stim2'))
data2 <- rbind(c(99,'xx'),c(105,'yy'),c(230,'zz'),c(312,'aa'),c(587,'bb'),c(846,'cc'))
foo <- NULL
for(i in 1:nrow(data1))
{
foo[i,1] <- subset(data2,as.numeric(data2[,1]) > as.numeric(data1[i,1]) & as.numeric(data2[,1]) < as.numeric(data1[i,2]))
foo[i,2] <- rep.int(data1[i,3],nrow(subset(data2,as.numeric(data2[,1]) > as.numeric(data1[i,1]) & as.numeric(data2[,1]) < as.numeric(data1[i,2]))))
}
foo を次のようにしたいと思います。
105 yy stim1
230 zz stim1
587 bb stim2