我是处理 R 中大矩阵的新手。我正在尝试学习ff
. 我可以创建大型ff
矩阵ffsdist1
,ffsdist2
如下所示。
library(stringdist)
library(babynames)
library(ff)
d <- babynames
sdist1 <- stringdistmatrix(d$name[1:1000], d$name[1:2500], method="lv", useBytes = T)
sdist2 <- stringdistmatrix(d$name[1001:2000], d$name[1:2500], method="lv", useBytes = T)
我可以按如下方式创建 ff 矩阵
ffsdist1 <- ff(sdist1, dim=dim(sdist1))
ffsdist2 <- ff(sdist2, dim=dim(sdist2))
我想在矩阵上sdist1
和矩阵中复制以下操作。sdist2
ff
1.rbind()
sdist <- rbind(sdist1, sdist2)
2.更换零件使用[
sdist1[sdist1 > 0] <- Inf
3.提取零件使用[
ind1 <- grepl("\\bA", d$name[1:1000])
ind2 <- grepl("a\\b", d$name[1:1000])
sdist[ind1 & ind2]
和
sdist[,which(ind1)]
4.添加两个矩阵
sdistsum <- sdist1 + sdist2
5. 转置
tsdist1 <- t(sdist1)
这个对吗
tffsdist1 <- t(ffsdist1)
6.使用apply
apply(sdist, 1,
function(x) paste(as.character(unlist(d$name[x <= 3])),
collapse=", "))
如何使用ff
package in做到这一点R
?