相关疑难解决方法(0)

在R中,匹配矩阵的行或列的函数

值匹配函数R是非常有用的.但根据我的理解,它不足以支持两个或高维输入.

例如,假设xy是相同数量的列的矩阵,我想匹配行的xy.'R'函数调用match(x,y)不会这样做.列表的输入也出现相同的不足.

我已经实现了我自己的版本调用matchMat(xMat, yMat)(附在下面),但我想知道你是什么解决了这个任务.

matchMat = function(xMat, uMat, dimn=1) {
    ind = rep(-1, dim(xMat)[dimn])
    id = 1 : dim(uMat)[dimn]
    for (i in id) {
        e = utilSubMat(i, uMat, dimn)
        isMatch = matchVect(e, xMat, dimn)
        ind[isMatch] = i
    }
    return(ind)
}

matchVect = function(v, xMat, dimn) {
    apply(xMat, dimn, function(e) {
        tf = e == v
        all(tf)
    })
}

unittest_matchMat = function() {
    dimn = …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
2
解决办法
2万
查看次数

查找哪一行重复 data.frame 中的哪一行

我有一个像这样的数据框:

data.frame(matrix(c(11:13, 21:23, 11:13, 11:13, 31:33, 41:43, 31:33), byrow = TRUE, ncol = 3))
Run Code Online (Sandbox Code Playgroud)

现在我想知道哪一行是哪一行的重复项,返回具有重复行号最低的索引向量。如果一行不是前一行的重复项,则它应该获取下一个可用索引。在此示例中,输出应为:

c(1, 2, 1, 1, 3, 4, 3)
Run Code Online (Sandbox Code Playgroud)

我可以通过循环所有行对来实现这一点,但必须有一种有效的方法来做到这一点。

不幸的是,duplicated只显示哪些行是重复的,但不显示它们到底重复的是哪一行。有什么功能可以帮助这里吗?

r dataframe

2
推荐指数
1
解决办法
135
查看次数

标签 统计

r ×2

dataframe ×1