小编Eri*_*ier的帖子

将"在字符串列表中设置"优化为"设置为矩阵"操作

我有一组包含空格分隔元素的字符串.我想建立一个矩阵,告诉我哪些元素是哪些字符串的一部分.例如:

""
"A B C"
"D"
"B D"
Run Code Online (Sandbox Code Playgroud)

应该给出类似的东西:

  A B C D
1
2 1 1 1
3       1
4   1   1
Run Code Online (Sandbox Code Playgroud)

现在我已经有了一个解决方案,但是它作为磨拉石运行缓慢,而且我已经没有关于如何加快速度的想法:

reverseIn <- function(vector, value) {
    return(value %in% vector)
}

buildCategoryMatrix <- function(valueVector) {
    allClasses <- c()
    for(classVec in unique(valueVector)) {
        allClasses <- unique(c(allClasses,
                               strsplit(classVec, " ", fixed=TRUE)[[1]]))
    }

    resMatrix <- matrix(ncol=0, nrow=length(valueVector))
    splitValues <- strsplit(valueVector, " ", fixed=TRUE)

    for(cat in allClasses) {
        if(cat=="") {
            catIsPart <- (valueVector == "")
        } else {
            catIsPart <- sapply(splitValues, reverseIn, …
Run Code Online (Sandbox Code Playgroud)

optimization r string-matching

4
推荐指数
1
解决办法
127
查看次数

标签 统计

optimization ×1

r ×1

string-matching ×1