1

我在 R 中进行近似字符串匹配。我对这种技术相当缺乏经验,但是因为我想找到我的 x 字符串与我的 y 字符串的一部分完全匹配的实例,所以我只对 Levenshtein 分数为 0 感兴趣(这是正确的方法?)。

对结果进行子集化最方便的方法是什么?因为我有大约 10k 列和 1k 行,所以我不确定是否有任何方法可以有效地可视化结果。我为这个问题缺乏机智而道歉。我只是缺乏这方面的经验。

4

2 回答 2

1

使用 Mark 的数据,这是一种构建索引的方法apply

rows <- apply(my.data, 1, function(x) any(!x))
cols <- apply(my.data, 2, function(x) any(!x))

my.data[rows, cols]
##   V2 V3 V4
## 1  0  2  1
## 3  1  1  0
## 5  0  0  0
于 2014-02-13T05:15:32.747 回答
0

这将保留所有包含零的行和列。

set.seed(2234)

my.data <- as.data.frame(matrix(sample(0:2,20,replace=TRUE), nrow=5))
my.data

aa <- unique(which(my.data==0,arr.ind=TRUE)[,1])
bb <- unique(which(my.data==0,arr.ind=TRUE)[,2])

my.data2 <- my.data[sort(aa),sort(bb)]
my.data2

> my.data
  V1 V2 V3 V4
1  2  0  2  1
2  2  2  1  2
3  2  1  1  0
4  2  2  2  1
5  1  0  0  0

> my.data2
  V2 V3 V4
1  0  2  1
3  1  1  0
5  0  0  0
于 2014-02-13T04:55:10.100 回答