当前位置: 首页 > 知识库问答 >
问题:

outer()中的函数来标识精确相等

酆英达
2023-03-14

请运行此代码:

list2env(list(df1 = iris, df2 = iris, df3 = CO2, df4 = CO2, df5 = cars), .GlobalEnv)
    null
name_df <- ls(pattern = "^df") # [1] "df1" "df2" "df3" "df4" "df5"
#       df1    df2    df3    df4    df5
# df1   TRUE   TRUE   FALSE  FALSE  FALSE
# df2   TRUE   TRUE   FALSE  FALSE  FALSE
# df3   FALSE  FALSE  TRUE   TRUE   FALSE
# df4   FALSE  FALSE  TRUE   TRUE   FALSE
# df5   FALSE  FALSE  FALSE  FALSE  TRUE 
outer(name_df, name_df, function(x, y){
  identical(get(x), get(y))
# Vectorize(identical)(get(x), get(y))
})

共有1个答案

苏胤
2023-03-14

我们可以在函数上用vectorize来包装

f1 <- Vectorize(function(x, y) identical(get(x), get(y)))
outer(name_df, name_df, f1)
#     [,1]  [,2]  [,3]  [,4]  [,5]
#[1,]  TRUE  TRUE FALSE FALSE FALSE
#[2,]  TRUE  TRUE FALSE FALSE FALSE
#[3,] FALSE FALSE  TRUE  TRUE FALSE
#[4,] FALSE FALSE  TRUE  TRUE FALSE
#[5,] FALSE FALSE FALSE FALSE  TRUE

或使用tidyverse交叉

library(tidyverse)
crossing(name_df, name_df) %>% 
   mutate(Equal = map2_lgl(mget(name_df, envir = .GlobalEnv), 
                          mget(name_df1, envir = .GlobalEnv), 
             identical)) %>% 
   spread(name_df1, Equal) %>%
   column_to_rownames('name_df')
 类似资料:
  • 更准确地说,函数接口被定义为恰好具有一个抽象方法的任何接口。 然后,他继续举例,其中一个是接口: 我能够测试我可以使用lambda函数来代替比较器参数,并且它可以工作(即)。 但是在比较器接口中,和方法都是抽象的,这意味着它有两个抽象方法。那么,如果定义要求接口只有一个抽象方法,那么这怎么能起作用呢?我错过了什么?

  • 函数精华知识 函数包含一组语句,它们是JavaScript基础的模块单元。函数用于指定对象的行为。 所谓编程,就是 将需求分解为 一组函数和 数据结构的技能。 函数对象 JavaScript中的函数就是对象。对象是" 名/值"对的集合并拥有一个连到原型对象的隐藏连接(即原型对象ptototype),对象字面量创建的对象连接到Object.prototype。函数字面量创建的对象连接到Functio

  • 问题内容: 我想指出一个什么都不做的函数: 我的用例是这样的 当然,我可以使用上面定义的方法,但是内置方法肯定会运行得更快(并避免我自己引入的错误)​​。 显然,与使用的身份,但这是具体到它们的实现。 问题答案: 进行更多研究后,没有发现任何问题,在1673203版中提出了一项功能,而Raymond Hettinger表示不会 : 最好让人们编写自己的琐碎通行证,并考虑签名和时间成本。 因此实际上

  • 问题内容: 我有这样一种逻辑,即先单击当前页面的标题,再单击下一步,然后再次获取标题,并且如果两个标题相同,则意味着导航尚未移至下一页,它将再次单击下一步。 但是,我的问题是title元素的Xpath不同-同一title元素具有两个Xpath。一个是一些页面,另一个是其他页面。 就是这个 要么 那么,我该如何处理呢? 问题答案: 如果元素具有两个xpath,则可以编写两个xpath,如下所示 例如

  • 我有这样一种逻辑,首先单击next按钮获取当前页面的标题,然后再次获取标题,如果两个标题相同,意味着导航没有移动到下一页,它会再次单击next。 然而,我的问题是title元素的Xpath不同-同一title元素有两个Xpath。一个是一些页面,另一个是其他页面。 要么是这个, 或 那么,我该怎么处理呢?

  • 本文向大家介绍JavaScript中日期函数的相关操作知识,包括了JavaScript中日期函数的相关操作知识的使用技巧和注意事项,需要的朋友参考一下 时间对象是一个我们经常要用到的对象,无论是做时间输出、时间判断等操作时都与这个对象离不开。除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用。下面还是按照我们的流程来进行讲解JavaScript中日期函数。